如何在Linux中更改Swappiness值

时间:2020-03-05 15:27:09  来源:igfitidea点击:

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

当Linux系统的物理内存不足时,非活动页面将从内存移到交换空间。

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

本文介绍了如何在Linux系统上更改swappiness值。

检查Swappiness值

要检查系统上的当前swappiness值,请使用以下“ cat”命令:

cat /proc/sys/vm/swappiness

大多数Linux发行版的默认swappiness值为60:

60

尽管60的交换值适合大多数用户,但在某些情况下,我们可能需要设置一个较低的值。

可以用来确定swappiness值的另一个命令是'sysctl':

sysctl vm.swappiness
vm.swappiness = 60

更改Swappiness值

Swappiness的值可以在0到100之间。
值0指示内核积极避免尽可能长的换出时间。
值为100将积极地将进程交换出物理内存。

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

访问交换内存比直接访问物理内存要慢得多。
较低的swappiness参数值很可能会改善整个系统的性能。
对于常规的桌面安装,建议值为10.
对于大多数数据库服务器,建议将交换值设为0或者1.

最佳交换值取决于系统工作负载和内存内存的大小。

我们应该以较小的增量调整此参数以找到最佳值。

例如,要将运行时的swappiness值设置为10,请以root或者'sudo'用户身份键入以下命令:

sudo sysctl vm.swappiness=1

要使swappiness参数在重新启动后保持不变,请使用文本编辑器打开“ /etc/sysctl.conf”文件:

sudo nano /etc/sysctl.conf

找到“ vm.swappiness”参数并更改其值。
如果此参数不存在,请将以下行添加到文件中:

/etc/sysctl.conf

vm.swappiness=1