清除/刷新缓存内存

清除/刷新缓存内存

我有一个配备 6GB RAM 的小型 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

我读到将其添加到 chron-task/job 中可能会很有用。这种方法值得推荐吗?或者这会导致潜在的问题吗?

我唯一担心的是,我在 Memcached 上使用了一个 Magento 安装 - 这会对它产生任何负面影响吗?

我当然不是专业人士因此我非常感谢一些专家的建议。

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

答案1

删除缓存可能会影响服务器的性能,因为每次删除缓存后,服务器都必须将经常访问的数据重新读回缓存中。

没有理由放弃缓存。对于 Linux 内核来说,用于缓存的内存基本上是免费的,并且会在应用程序需要时传递给它们。看看网站了解更多信息。

关于存储在 memcached 中的数据 - 这不会受到删除页面/dentries/inodes 缓存的影响。

答案2

如上所述,除非您有非常令人信服的理由,否则删除缓存是没有意义的。如果您没有看到任何性能问题,请保持原样。

如果您是好奇的人,那么您可以调整参数 vm.vfs_cache_pressure。默认值为 100,这意味着内核将尝试以与回收交换相比公平的速率回收缓存。增加该值将导致缓存内存被更快地回收,而减少该值将导致交换被更快地回收,但请记住,这只是内核清除缓存或交换的积极性。实际结果因环境而异。

除了回显 3,您还可以回显 1 或 2。如果我没记错的话,回显 1 将清除页面缓存,而回显 2 将清除 dentry 和 inode 缓存。3 将清除页面缓存、dentry 和 inode 缓存。

答案3

拥有这种级别的缓存 RAM 并没有什么坏处。这就是 Linux 所做的。

删除缓存后,您是否看到性能有所提升?如果没有,则不值得安排它。

作为一方,你使用更精细的方式控制缓存中的内容vmtouch公用事业

相关内容