linux中swap管理
swap交换空叫或者叫虚拟内存,是linux中的一直机制,它允许使用磁盘来作为内存使用,用于内存不是很高的机器中
由于是用磁盘来当做内存使用会导致磁盘的读写变多
查看swap
# swap中不为0则表示开启了
free -h
swapon -s
添加swap
- 创建swap文件,例子是1G大小
fallocate -l 1G /swapfile
或
dd if=/dev/zero of=/swapfile bs=1024 count=2097152
- 设置权限
chmod 600 /swapfile
- 格式化文件
mkswap /swapfile
- 添加
swapon /swapfile
- 持久化
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
- 验证
free -h
# total used free shared buff/cache available
# Mem: 3.8Gi 3.4Gi 180Mi 95Mi 628Mi 476Mi
# Swap: 1.0Gi 604Mi 419Mi
关闭swap
- 停止swap
swapoff -v /swapfile
删除或注释
/etc/fstab
中类似/swapfile swap swap defaults 0 0
删除文件
rm /swapfile
- 或者直接关闭所有
swapoff -a
调整交换频率Swappiness
内核中有个参数Swappiness
可以调整内存到虚拟内存的频率
- 临时修改
sudo sysctl -w vm.swappiness=10
- 持久化
echo "vm.swappiness=10" >> /etc/sysctl.conf
- 生效
sysctl -p
`