虚拟缓存 和 分页文件其实是不太一样的,但是我们普通人就认为是一个东西就行了,在内存不够使用的时候,作为内存暂存的地方。
查看配置
用 free -h 查看 Swap 的配置
如果都是显示的 0 那就是没有配置
运行 df -h,查看硬盘空间使用情况,确保有足够的空间
创建缓存文件
dd if=/dev/zero of=/var/swap bs=1024 count=2048000
if 表示infile,of表示outfile,bs=1024代表增加的模块大小,count=2048000代表2048000个模块,也就是2G空间
执行时间较长,且根据文件大小而定,耐心等待
启用 swap
mkswap /var/swap
mkswap -f /var/swap
swapon /var/swap
再运行 free -m 查看 swap 是否已启用,但是到这一步,只是临时 swap,需要再配置 fstab 使 swap 文件永久有效。
vi /etc/fstab
/var/swap swap swap defaults 0 0
取消 swap
查看 swap 文件位置
swapon -s
取消 swap、删除文件
swapoff /var/swap
rm -rf /var/swap
再次运行 free -h 查看
total used free shared buff/cache available
Mem: 7.6G 2.7G 174M 1.1M 4.7G 4.6G
Swap: 0B 0B 0B
更改 Swap 配置
查看依赖度
cat /proc/sys/vm/swappiness
swappiness 值的范围为 0-100,值越高代表对 swap 依赖程度越高,但是swap是基于文件储存的缓存交换机制,所以效率明显低于物理内存,swappiness值过高的情况下容易导致物理内存远远没有耗尽便开始使用 swap;一般来说swappiness 值可以设置为 10-60,ssd 可以设置的高一点;
修改当前swappiness值为15,重启后失效
sysctl vm.swappiness=15
更改系统配置值,重启后依旧有效
echo "vm.swappiness = 15" >> /etc/sysctl.conf