清除/刷新高速caching的内存

我有一个6GB RAM的小型VPS主机的几个网站。

最近我注意到,我的caching内存很大 – 见下面:

Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.1%id, 0.0%wa, 0.2%hi, 0.4%si, 0.0%st Mem: 6113256k total, 5949620k used, 163636k free, 398584k buffers Swap: 1048564k total, 104k used, 1048460k free, 3586468k cached 

经过调查是否有某种方法来刷新或清除我偶然发现一个命令是:

  sync; echo 3 > /proc/sys/vm/drop_caches 

我读了将它添加到时间任务/作业可能是有用的。 这种方法是build议还是可能导致潜在的问题?

我唯一担心的是我在Memcached上使用了一个Magento安装程序 – 这会对它有什么负面影响吗?

我当然不是亲,所以我会非常感谢一些专家的build议。

PS:我的VPS在CentOS 5 x64上运行,我安装了WHM + NGINX。

删除caching可能会影响服务器的性能,因为在每次caching丢失之后,必须将频繁访问的数据重新读取到caching中。

没有真正的理由放弃你的caching。 对于Linux内核来说,用于caching的内存本质上是免费的,并且在需要时将被传递给应用程序。 看看这个网站了解更多信息。

关于存储在memcached中的数据 – 这可以避免丢弃page / dentries / inodecaching的影响。

如上所述,除非你有一个非常有说服力的理由,否则放弃caching没什么意义。 如果您没有看到任何性能问题,请保持原样。

如果你是好奇的types,那么你可以调整参数vm.vfs_cache_pressure。 默认值为100,这意味着内核将尝试以相当于回收交换的公平速率回收caching。 增加值会导致caching的内存更快地被回收,并且减less它将导致更快的回收交换,但请记住,这是内核对清除caching或交换的积极性。 实际结果因环境而异。

如果我没有记错的话,echo 1会清除页面caching,2会清除dentry和inodecaching。 3将清除pagecache,dentry和inodecaching。

有这种级别的cachingRAM没有真正的危害。 这是Linux所做的。

放弃caching后,你看到任何性能增益? 如果没有,那么这是不值得安排的。

作为一个方面,您可以使用vmtouch实用程序更精细地控制caching中的vmtouch