当前位置: 首页>>技术问答>>正文


我如何配置swappiness?

,

问题描述

我需要一个step-by-step,简单而简单的方法来配置swappiness。

最佳解决方案

Linux内核提供了一个可调整的设置,用于控制交换文件的使用频率,称为swappiness

将swappiness设置为零意味着除非绝对必要(内存不足),否则磁盘将被避免,而swappiness设置为100意味着程序将几乎立即交换到磁盘。

Ubuntu系统默认配置为60,这意味着如果内存使用量大约占我内存的一半,则交换文件将被相当频繁地使用。您可以运行以下命令来检查您自己的系统的swappiness值:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

由于我有4 GB的RAM,因此我想将其降至10或15.只有当我的RAM使用率为80%或90%左右时才会使用交换文件。要更改系统swappiness值,请以root身份打开/etc/sysctl.conf。然后,更改或添加此行到文件中:

vm.swappiness = 10

重新启动以使更改生效

您还可以在系统仍在运行时更改该值

sysctl vm.swappiness=10

您也可以通过以root身份运行swapoff -a然后swapon -a来清除交换,而不是重新启动以实现相同的效果。

计算你的交换公式

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

so total is 3950 / 100 = 39.5 * 10 = 395

所以这意味着当10%395 MB的ram离开时,它开始使用交换


Help . Ubuntu . Swap

什么是swappiness

swappiness参数控制内核将进程从物理内存移出交换磁盘的趋势。由于磁盘比RAM慢得多,如果进程太积极地移出内存,这可能会导致系统和应用程序的响应时间变慢。

。 swappiness的值可以在0到100之间

。 swappiness = 0:版本3.5及以上:禁用交换。 3.5之前:告诉内核尽可能避免将进程交换出物理内存。

。 swappiness = 1:版本3.5及以上:最小的swappiness,完全禁用它

。 swappiness = 100告诉内核主动将进程交换出物理内存并将其移至交换缓存

参见http://en.wikipedia.org/wiki/Swappiness

Ubuntu中的默认设置是swappiness = 60。减少swappiness的默认值可能会提高典型Ubuntu桌面安装的总体性能。值得推荐的是swappiness = 10,但可以随意试验。


以91%开始使用交换

由于我配置了我的系统& vm使用90%的内存。在90%没有交换

swap,ubuntu

之后,我打开了一些应用程序,如Firefox&快门,由于内存使用而开始交换的时间超过90%

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/104.html,未经允许,请勿转载。