虚拟内存是为了满足物理内存不足时而提出的策略,利用磁盘空间虚拟出的逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(swap space)
1.查看swap分区
free -h
- 使用dd命令创建一个swap分区
dd if=/dev/zero of=/home/swap bs=1M count=2048 - 格式化分区文件
mkswap /home/swap
修改权限
chmod 0600 /home/swap - swapon命令激活swap
swapon /home/swap - swapoff命令关闭swap
swapoff /home/swap - 保存设置使其永久生效
进入/etc/fstab 添加下面这一行设置
vi /etc/fstab
/home/swap swap swap defaults 0 0 - 查看设置是否成功
free -h
1. swap 重启后失效
在文件/etc/rc.local中增加开启swap的命令:
vi /etc/rc.local
增加下面内容:
swapon /home/swap
2.调整vm.swappiness的方法
默认值swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区
swappiness=0的时候表示最大限度使用物理内存;swappiness=100时表示最大限度的使用swap分区
查看参数值:
cat /proc/sys/vm/swappiness
临时调整:
sysctl vm.swappiness = 30
永久调整:
vi /etc/sysctl.conf
修改值:vm.swappiness=30
加载参数:sysctl -p
3.释放虚拟内存命令
# sync命令是Linux操作系统中的一个工具命令,用于将文件系统的缓冲区数据立即写入磁盘中
sync
echo N > /proc/sys/vm/drop_caches
drop_caches的值(N)可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值);默认情况下表示不释放内存,由操作系统自动管理;
1:释放页缓存;
2:释放dentries和inodes;
3:释放所有缓存