Linux交换 – 调整内核VM设置

前端之家收集整理的这篇文章主要介绍了Linux交换 – 调整内核VM设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在您阅读本文之前,请注意我了解缓存的好处.我熟悉未使用的公羊是浪费公羊的教条.

这个问题是我从之前的问题中改编的:

deleting linux cached ram

在那个问题中,我很好奇调整我的服务器使用和缓存内存的方式.系统是相当动态的,所以我相信缓存的文件并没有给我带来太多的好处.另外,我们在服务器上有代码,必须在短时间内快速访问大量ram来处理视频文件.我相信我会看到直接处理ram而不是从缓存清除然后然后清除它的性能优势交还.

我想知道是否有人在以下文件中调整默认值60的经验(这恰好在ubuntu服务器上):

/proc/sys/vm/swappiness

如果是这样,你看到了什么影响.如果我用30替换默认值60,我会看到更少的交换和更多的陈旧缓存重用?我是接近0还是100来减少交换并增加缓存的重用?

最后,任何人都知道为什么默认设置为60?

注意:如果它接近0,Linux将更喜欢将应用程序保留在RAM中而不是增加缓存.如果它接近100,Linux将更愿意交换应用程序,并尽可能扩大缓存.默认值是健康的60. – 感谢下面的链接,3dInfluence.

解决方法

编辑:重写了答案,以便它更短更清晰我希望:)

您真的需要了解VM子系统如何作为一个整体开始调整可调参数,或者您可能发现您没有得到您期望的结果.关于这些设置如何与桌面倾斜一起工作,This article是一个非常好的起点.

更重要的是你的问题.当VM子系统通过取消映射并将其分页(即交换)来回收进程表页面时,Swappiness控制.这个可调参数通过告诉VM子系统在映射到进程页表swappiness值的内存百分比是>时查找要交换的页面. 100.因此,设置为60将导致系统在使用系统内存的40%以上时从进程页表中开始分页过时的页面.如果您希望允许程序以缓存为代价使用更多内存,则需要降低swappiness值.您还需要查看/ proc / sys / vm / min_free_kbytes和/ proc / sys / vm / vfs_cache_pressure.因为这也将控制保留多少内存以及缓存的积极程度.请参阅我链接文章,了解有关后者的更多信息.

猜你在找的Linux相关文章