交换空间是 RAM 内存已满时使用的硬盘的一部分。交换空间可以是专用交换分区或交换文件。当 Linux 系统耗尽物理内存时,非活动页面将从 RAM 移动到交换空间。Swappiness 是一个 Linux 内核属性,用于设置将页面从物理内存交换到交换空间以及从页面缓存中删除页面之间的平衡。它基本上定义了系统使用交换空间的频率。本文介绍如何更改 Linux 系统上的 swappiness 值。
检查 Swappiness 值
要检查系统上的当前 swappiness 值,请使用以下 cat 命令:
cat /proc/sys/vm/swappiness
大多数 Linux 发行版上的默认 swappiness 值为 60 :
60
虽然 60 的 swappiness 值适合大多数用户,但在某些情况下,您可能需要设置较低的值。
您可以用来确定 swappiness 值的另一个命令是 sysctl :
sysctl vm.swappiness
vm.swappiness = 60
改变 Swappiness 值
Swappiness 可以具有 0 到 100 之间的值。值 0 指示内核积极地避免尽可能长时间地交换。值 100 将积极地将进程交换出物理内存。
较低的值将使内核尽可能避免交换,而较高的值意味着内核将尝试更积极地使用交换空间。
访问交换内存比直接访问物理内存要慢得多。 swappiness 参数的较低值很可能会提高整体系统性能。对于常规桌面安装,建议值为 10 。对于大多数数据库服务器,建议使用 swappiness 值0或1。
最佳 swappiness 值取决于您的系统工作负载和 RAM 内存的大小。您应该以小增量调整此参数以查找最佳值。
例如,要在运行时将 swappiness 值设置为 10 ,请以 root 或 sudo 用户身份键入以下命令:
sudo sysctl vm.swappiness=10
要使 swappiness 参数在重新启动后保持不变,请使用文本编辑器打开文件 /etc/sysctl.conf :
sudo nano /etc/sysctl.conf
找到 vm.swappiness 参数并更改其值。如果此参数不存在,请将以下行附加到该文件 /etc/sysctl.conf 中
vm.swappiness=10
结论
我们已经向您展示了如何更改 swappiness 参数的值。