以debian为例。

创建交换空间文件/swapfile,大小是1G:

fallocate -l 1G /swapfile

默认交换空间文件的权限只有root用户才能写入和读取交换文件的数据。因此我们需要修改交换空间文件的权限为600,并使用mkswap格式化文件。

chmod 600 /swapfile
mkswap /swapfile

启用交换空间:

swapon /swapfile

要在Linux系统启动时自动挂载分区,需要在/etc/fstab文件中定义挂载配置选项:

echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

运行命令swapon或free命令验证交换空间是否处于活动状态:

swapon --show
free -h

Swappiness

Swappiness是一个Linux内核属性,用于定义系统使用交换空间的频率。Swappiness可以是0到100之间的值。

swappiness=0的时候表示最大限度使用物理内存,然后才是交换空间,swappiness=100的时候表示积极的使用交换空间。

Linux的初始默认设置为60,你可以运行命令cat /proc/sys/vm/swappiness命令查看当前swappiness值的大小。

如果你需要对swappiness的值作出更改,请运行sudo sysctl -w vm.swappiness=10命令。

sysctl命令用于在运行时配置Linux内核的参数,更改仅在当前会话中可用,即重启会恢复为默认值。

为让swappiness的值持久化,则需要将值写入到/etc/sysctl.conf文件中。sysctl.conf是Linux内核的配置文件。在Linux内核启动是将会次配置文件的参数。

运行以下命令持久化Linux内核参数swappiness的值:

echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/sysctl.conf

标签: none