我有一个6GB内存的小型VPS托管几个网站。
最近,我注意到我的缓存内存大小相当高-请参见下面的内容:
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我读到,把它添加到一个杂务/工作中可能是有用的。这种方法是推荐的还是会导致潜在的问题?
我唯一关心的是,我在Memcached上使用了一个Magento安装--这会对它产生任何负面影响吗?
我当然不是专业人士,所以我非常感谢一些专家的意见。
PS:我的VPS运行在CentOS 5 x64上,我安装了WHM + NGINX。
发布于 2012-10-07 08:43:21
丢弃缓存可能会影响服务器的性能,因为每次缓存丢弃后,服务器必须将频繁访问的数据重新读入缓存。
没有真正的理由放弃你的缓存。对于Linux内核,用于缓存的内存基本上是免费的,并且在需要时将传递给应用程序。请查看这网站以获得更多信息。
对于存储在memcached中的数据,这个安全机制不受删除页/dentries/inodes缓存的影响。
发布于 2012-10-07 10:59:20
如前所述,除非您有一个非常有说服力的理由这样做,否则放弃缓存是没有意义的。如果您没有看到任何性能问题,就保持原样。
如果您是好奇的类型,那么您可以调整参数vm.vfs_cache_pressure。默认值为100,这意味着与回收交换相比,内核将尝试以公平的速率回收缓存。增加值将导致缓存内存被更快地回收,而减少缓存将导致更快地回收交换,但请记住,这正是内核清除缓存或交换的侵略性。实际结果因环境而异。
除了回显3之外,您还可以回送1或2。如果我没记错的话,回显1将清除页面缓存,2将清除dentry和inode缓存。3将清除页面缓存、dentry和inode缓存。
发布于 2012-10-07 08:47:55
拥有那样级别的缓存RAM并没有什么真正的危害。这就是Linux所做的。
你看到放弃缓存后的性能提高了吗?如果没有,那就不值得安排时间了。
作为一个方面,您可以使用vmtouch实用程序控制缓存中的更多粒度。
https://serverfault.com/questions/435635
复制相似问题