Swappiness:如何调整虚拟内存使用率

交换虚拟内存

在这里 Ubunlog 我们致力于(或试图致力于)所有用户,其中包括非常不同的硬件配置。在某种程度上,我们喜欢认为,通过我们在这里展示的教程,我们以某种方式为改善这个我们非常喜欢的发行版(无论其任何风格)的一般用户体验做出了贡献,这就是我们经常发布指南的原因为了 获得最佳性能 可能,尤其是在较普通的设备中。

现在,我们将不做任何进一步的展示 如何调整虚拟内存使用量 Ubuntu,这样可以避免最终导致拖累,并使性能比没有它的情况更糟。 事实是,尽管使用文件或交换分区的想法本身并不坏,但恰恰相反,但如果实施不当,则会导致过多使用硬盘,比使用硬盘慢得多。 RAM.

出于这个原因,交换分区的使用应仅限于没有其他选择的情况下使用,届时它将支持主内存(RAM)。 如果我们始终使用它,有时甚至在RAM之前使用它,我们的性能将受到损害。 让我们看看 如何使用Swappiness命令调整Linux中的虚拟内存使用率.

在我们的操作系统中,虚拟内存的创建通常在安装过程中进行,这时我们定义根分区(/),存储分区(/ home)和交换分区或 交换,通常在/ dev / sda5分区上实现。 管理虚拟内存使用的内核参数是前面提到的swappiness,基本上,我们可以说,它通过定义一个参数来定义我们访问交换分区的频率以及向其中复制多少内容。 0和100。

Linux安装中的默认值为60,但很容易假设,并非所有硬件配置都相同,因此无论使用哪种硬件,都无法保持该级别。 此值存储在/ proc / sys / vm / swappiness文件中,我们可以通过以下方法对其进行检查:

cat / proc / sys / vm / swappiness

几乎肯定会是60,如果是这种情况,我们可能必须修改它,尤其是 如果我们有超过4 GB的RAM内存,因为在这种情况下,我们通常只需要很少或不需要虚拟内存。 但是在解释如何修改它之前,让我们先了解一下整个虚拟内存和交换特性背后的逻辑。 这是默认情况下将其保留为60时,内核被告知要在我们的RAM拥有其可用容量的40%或更少时去使用虚拟内存。 因此, 如果我们将swappiness设置为100,则将一直使用虚拟内存,如果我们将其保留为非常低的值,则仅在RAM即将用尽时使用。 最小值可能为1,因为将值保留为0,我们将完全停用虚拟内存.

所以我们要做的是从终端输入以下命令(Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

现在的价值 swappiness将保持在10,然后将几乎不使用虚拟内存。 更改此值后 无需重新启动计算机,但立即生效,实际上,如果我们重设该值,它将像以前一样位于60,因为我们需要的是永久保留此更改。 为此,一旦我们使用了计算机并验证了新性能值swappiness一切都很好,我们将执行以下操作:

须藤nano /etc/sysctl.conf

之后,我们查找文本vm.swappiness =,并在“ =”符号后添加所需的值。 我们保存了文件,现在可以了,更改将是永久的。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   切斯夫洛

    很好的解释! 很好的文章! 就我而言,当我在重新启动笔记本电脑时进行此更改时,它恢复为原始值60,就好像文件已保存,但在重新启动时是“格式化”的。 我已经尝试了一切都没有成功,您是否知道会发生什么? 我有1GB的Ram。

    谢谢!

    1.    威利·克莱

      嗨César,很高兴您发现它很有趣。

      如果该值在系统重新引导时丢失,我会查看/etc/rc.local和其他启动脚本(根据每个发行版的不同而有所不同),因为这可能是在启动时设置的。

      的问候!

  2.   帕斯夸尔·马丁(Pascual Martin)

    很好的解释!

    作为补充,这是有关Linux中的交换和交换的另一个有趣的话题:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   观众条件

    你不知道这对我有多好,谢谢

  4.   克莱里戈

    问候,

    在我的/etc/sysctl.conf文件中,不是vm.swappiness =文本,我找的很好,文件很小。 除非必须添加它,否则文章会说查找和修改值,而不是添加行。

  5.   刘易斯

    问候,

    在我的/etc/sysctl.conf文件中没有vm.swappiness = text。 除非必须添加它,否则文章说要查找和修改值,而不是添加行。

  6.   诺斯费拉图斯

    您必须创建它,在文件末尾放置vm.swappiness = 10就是这样。

    如果重启后无法保存,则可能是因为您未使用sudo命令。

    Ubuntu:sudo gedit /etc/sysctl.conf
    Xubuntu:sudo鼠标垫/etc/sysctl.conf

  7.   圣地亚哥

    优秀的文章。 谢谢!

  8.   罗伯托

    您可以输入零。 会出现什么问题?

  9.   何塞·卡斯蒂略·阿瓦洛斯

    您好,谢谢您,Willy Clew的文章使我清楚了使用swapp内存的过程,但这引起了我很大的疑问,因为在进入终端并执行您指定的命令时,它返回以下消息:

    bash:cat / proc / sys / vm / swappiness:文件或目录不存在

    是什么原因造成的?

    1.    安德烈斯·乔克·洛佩兹

      你写得不好您没有在“猫”后面加上空格。

  10.   冰激凌

    太好了,我们在西班牙语的ubuntu小组中分享了它 https://t.me/ubuntu_es

  11.   SMITH

    太棒了,它在Debian 10.9上为我工作

  12.   约翰

    我是一名计算机科学家,我已经安装并测试了多个发行版,配置 swappiness 的最佳选择是在终端中编写

    须藤nano /etc/sysctl.conf

    按回车后写键并再次输入,然后在最后写下一行

    vm.swappiness = 0

    然后同时按 ctrl 和 x 键,他会生成一个问题,如果您想将新句子保存在文件中,请按 Y 键说是和 n 以便它不保存它

    为什么我写零 0? 这些测试已经在我编程的不同 PC 上完成,因为这是最好的选择,因为它使用了分页,但例如,如果通过打开 Facebook 来打开 Chrome 或浏览器,因为交换内存(交换或也称为分页)将增加但是当它关​​闭会话和浏览器或任何程序时,因为分页内存(swap)会减少释放硬盘,这有助于避免损坏它,请记住交换内存或称为分页(swap)使用硬盘。

  13.   诺贝托·冈萨雷斯

    没看懂,抱歉。 如果默认是60激活swap,缺少40或更少,当参数设置为10时,会不会用90的空闲内存激活? 通过减慢数据交换