netnr/ swap.sh 2018-09-05 09:00
linux 系统增加 swap 交换分区
# 创建一个空的交换文件 4G
dd if=/dev/zero of=/swapfile bs=1G count=4

chmod 0600 /swapfile # 设置正确的权限
sudo mkswap /swapfile # 设置为交换分区
sudo swapon /swapfile # 挂载

swapon --show # 查看
free -m # 查看

vi /etc/fstab # 开机自动挂载 swap, 文件末追加
/swapfile swap swap defaults 0 0

# 删除交换分区
swapoff -v /swapfile # 停用交换分区
# 删除 /etc/fstab 文件追加的内容
/swapfile swap swap defaults 0 0
rm /swapfile # 删除文件

# 调整交换值
# swappiness 介于 0 和 100 之间,值越低,越少用 swap 分区多用内存,反之多用 swap 分区。
# Ubuntu 默认值为 60,表示低于(100-60)40% 时使用 swap 分区;CentOS 默认值是 30。
# 设置为 100 可能会影响整体性能,内存充足,就设置很低或为 0,以避免系统进行 swap 影响性能。
cat /proc/sys/vm/swappiness

# 生产环境服务器建议设置 10
sysctl vm.swappiness=10
sysctl -p

vi /etc/sysctl.conf # 开机生效,文件末追加
vm.swappiness=10

# 清理 swap
swapon --show # 查看
swapoff -a # 禁用(等待转移到内存)
swapon -a # 启用