Ubuntu - 如何确定服务器交换的原因?

Ubuntu - 如何确定服务器交换的原因?

我的一台服务器几天就会崩溃一次。

它执行网络服务+一些后台工作,例如XML文件处理。

如果你看一下截图http://awesomescreenshot.com/075xmd24您将看到,尽管服务器有大量可用内存,但它仍会进行交换。为什么会发生这种情况?为什么操作系统不使用可用内存而是进行交换?

网络服务流量低(谷歌抓取时负载可能很高)

服务器详细信息:Ubuntu 11.10 oneiric i386 scalarizr(0.7.185)python 2.7.2、chef 0.10.8、mysql 5.1.58、apache 2.2.20、php 5.3.6、memcached 1.4.7 Amazon EC2(us-west-1)

谢谢!

答案1

内核会主动交换不太活跃的页面,而不是在物理 RAM 完全填满时才进行被动交换,此时应用程序需要被阻止等待通过交换释放内存。

您可以弄乱swappiness内核参数,但不要这样做,除非交换行为导致问题 - 如果有更多证据,没有理由认为交换的使用与崩溃有任何关系。

相关内容