Linux:内存是免费的,但使用交换.为什么?

前端之家收集整理的这篇文章主要介绍了Linux:内存是免费的,但使用交换.为什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是Munin的图表.

内存使用情况:
http://koryagin.com/w/q/memory-day.png

交换进出:
http://koryagin.com/w/q/swap-day.png

当RAM大小远远大于程序使用的内存时,为什么Linux决定增加缓存并使用交换?

解决方法

您的服务器可能有一些内存占用和/或非活动进程,有许多非活动页面. Linux内核更喜欢将程序的非活动部分换成交换,因为很可能内存更好地用作缓存.

如果你想改变这种行为,可以使用vm.swappiness sysctl可调,但要注意,要明白内核开发人员/发行版维护人员并不容易.

猜你在找的Linux相关文章