Linux Swap

Linux Swap

查看当前 Swap 使用情况

swapon --show
free -h

创建 Swap 文件

注:如使用宝塔面板可以搜索Linux工具箱安装Swap,无需手动操作。但是注意检查以下是否持久化之类的,建议完整看完。

  1. 创建一个大小为 4G 的 Swap 文件:
sudo fallocate -l 4G /swapfile

如果 fallocate 不可用,可以使用以下命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  1. 设置正确的权限:
sudo chmod 600 /swapfile
  1. 将文件设置为 Swap 空间:
sudo mkswap /swapfile
  1. 启用 Swap 文件:
sudo swapon /swapfile
  1. 验证 Swap 是否启用:
swapon --show
free -h

永久启用 Swap 文件

编辑 /etc/fstab 文件,添加以下行:

/swapfile none swap sw 0 0

调整 Swap 优先级

可以通过修改 /etc/fstab 中的 sw 选项来调整 Swap的优先级。例如:

/swapfile none swap sw,pri=10 0 0

拥有多个 Swap 文件或分区时,这个参数才需要设置。值越大,优先级越高。

删除 Swap 文件

  1. 关闭 Swap 文件:
sudo swapoff /swapfile
  1. 删除 Swap 文件:
sudo rm /swapfile
  1. 可选:从 /etc/fstab 中移除相关行。
  2. 验证 Swap 是否已删除:
swapon --show
free -h

调整 Swappiness 值

Swappiness 控制系统使用 Swap 的倾向。默认值通常为 60。值越大,系统越倾向于用硬盘 Swap,系统会变卡。 对于服务器,建议设低一点,防止硬盘读写太频繁导致卡顿。推荐值为 10-20。

可以通过以下命令查看当前值:

cat /proc/sys/vm/swappiness

要临时更改 Swappiness 值(例如设置为 20):

sudo sysctl vm.swappiness=20

要永久更改 Swappiness 值,编辑 /etc/sysctl.conf 文件,添加以下行:

vm.swappiness=20

然后应用更改:

sudo sysctl -p

重启验证是否持久化

重启系统后,验证SWAP以及Swappiness值:

swapon --show
free -h
cat /proc/sys/vm/swappiness