如何在Linux 更改Swappiness

交换空间是RAM内存已满时使用的硬盘的一部分。交换空间可以是专用交换分区,也可以是交换文件

2 min read
By myfreax
如何在Linux 更改Swappiness
如何在Linux中更改Swappiness值

交换空间是RAM内存已满时使用的硬盘的一部分。交换空间可以是专用交换分区,也可以是交换文件

Swappiness是Linux内核属性,用于设置从物理内存换出页面到交换空间与从页面缓存中删除页面之间的平衡。它基本上定义了系统多久使用一次交换空间。

本教程介绍如何在Linux 更改swappiness。更改Swappiness值时应取决于您的系统工作负载和RAM内存的大小

如你需要了解更多关于这方面知识,请阅读我们的教程:Linux性能:为什么你应该添加交换空间swap

在修改Linux Swappiness之前,请先检查系统当前的swappiness值,运行命令cat /proc/sys/vm/swappiness。可用于确定swappiness值的另一个命令是sysctl

cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness

大多数Linux发行版的默认swappiness值为60。尽管对于大多数用户来说,交换值60是合适的。但在某些情况下,您可能需要设置一个较低的值。

Swappiness的值可以在0到100之间。0值指示内核积极避免尽可能使用物理内存。值100将积极地将进程的内存移动交换空间。

较低的值将使内核尽可能避免交换,而较高的值意味着内核将尝试更积极地使用交换空间。

访问交换空间比直接访问物理内存要慢得多。较低的swappiness参数值将最有可能改善整体系统性能。

最佳交换值取决于您的系统工作负载和RAM内存的大小。您应该以较小的增量调整此参数以找到最佳值。

例如,要在运行时将swappiness值设置为10,请运行命令sudo sysctl vm.swappiness=1。sysctl命令修改的内核在参数仅在当前会话可用。

要使swappiness参数在重新启动后保持不变,请使用你喜欢的文本编辑器,在本教程中我们将使用vim编辑文件/etc/sysctl.conf

找到vm.swappiness参数并更改其值。如果此参数不存在,请添加此行vm.swappiness=1/etc/sysctl.conf文件。

sudo sysctl vm.swappiness=1
sudo vim /etc/sysctl.conf
vm.swappiness=1
/etc/sysctl.conf

结论

我们向您展示了如何更改swappiness参数的值。如果您有意见,请在下面发表评论。