交换95%+,但有很多免费的RAM内存

我用cPanel运行centos 5.8。 最近我收到报告,我的交换已满,但有很多可用的内存。

top - 10:33:43 up 133 days, 17:00, 1 user, load average: 0.05, 0.03, 0.05 Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie Cpu(s): 2.1%us, 0.5%sy, 0.0%ni, 97.2%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 24726100k total, 8255368k used, 16470732k free, 599560k buffers Swap: 1046520k total, 984740k used, 61780k free, 3641828k cached 

我如何解决这个问题?
应该使用未使用的RAM内存而不是交换。 或者我应该增加交换(我该怎么做?)。

谢谢

这是很好奇的…虽然内核将积极地换出不使用的页面以允许更多的磁盘caching,但是直到大部分内存实际上被用于caching时,通常不会这样做。

我可以在这里想到两种可能性:

  1. 您提供的top输出是在大内存使用进程刚刚结束时留下大量未使用的内存。 体面的sar输出(内存和交换使用)在一个延长的时间内将证实或驳斥这一点。
  2. 你已经把swappiness旋钮变成了地狱了,所以内核的快速按照你的指示,把所有的东西交换出来,都可以实现。 请仔细检查/proc/sys/vm/swappiness (默认值是60),如果高于此值,可以将其恢复(如果您真的想要,也可以将其设置得更低,但是如果您的机器最终还是不要责怪我因为它没有任何磁盘caching,所以performance的像球一样)。

另外,我不担心机器有很多页面被换出 – 只要给机器更多的交换,让它做的事情。 几乎可以保证内核内存pipe理器在优化内存使用方面比您更聪明。

你确定有问题要解决吗? 你遇到低性能? 检查实例“优化内存使用情况” https://help.ubuntu.com/community/SwapFaq#Why_do_I_need_swap.3F大量使用的交换空间并不意味着实际上存在问题。

我不知道你的高交换使用率是一个问题的指标。 查看dstat或vmstat并观察交换区域是否有任何活动。 我曾经在我的一个客户的服务器上看到类似的情况。 交换几乎已满,但没有以任何方式使用(没有看到交换的I / O)。 就我而言,这根本不是问题!

 swapoff 

其次是

 swapon 

如果有足够的可用RAM,将清空你的交换。