我运行一个CentOS 5.7 64机器,运行24gb ram,运行内核2.6.18-274.12.1.el5。
这台机器只能运行Nginx,php-fpm和Xcache作为额外的应用程序。
从大约3个星期以来,我在这台机器上的记忆行为已经改变,我不能解释为什么。 没有任何crons正在运行这样的东西。 在这些丢弃期间也没有大量的文件被删除/改变。
每隔几个小时,“caching”的内存就会下降,但是这并不是刷新之间的差距,这表明我们已经达到了一些瓶颈。 总的内存使用量似乎总是达到18GB左右,但总的来说,并不总是18GB。
这是我的记忆使用情况的图表: 
正如你在图中看到的,“缓冲区”总是保持不变,主要是“caching”被丢弃。
运行vmstat -m我已经输出内存使用之前和之后内存下降。 输出结果如下: http : //pastebin.com/diff.php?i=hJqZqztm “旧版本”之前,“新版本”正在下降。
大约三个星期前,我的服务器在DDOS攻击严重时崩溃,重启机器后,这种奇怪的行为开始了。 我检查了一堆日志,重新启动机器,并找不到任何指示改变。
在这些“caching”内存下降期间,我的iNode使用率会同时下降。

有没有人有任何想法可能会导致这种行为? 显然,我的内存不足,所以我很好奇为什么会发生这种情况。
什么锯齿承诺内存图表是什么意思?
当连接是accept()时,套接字创buildinode,因此inode行为可能来自分别打开或closures的大量连接。 当(如链接的问题)logrotate杀死一堆FastCGI进程时,可能会发生这种情况。 不知道这是否适用于php-fpm。
只是一个疯狂的理论,并没有真正解释为什么同时清除caching。 不过,值得一看?
通过把vm.zone_reclaim_mode = 0解决