如何清理用作缓存的 RAM 内存?

Zig*_*gnd 6 cache terminal ram

我的处理器正在使用我的 RAM 内存的很大一部分作为缓存,因此我想清理它;会不会有偏见?

mgo*_*ven 26

没有必要这样做,如果进程不需要,内核通过将其用于缓存和缓冲区来有效地管理 RAM。如果进程请求更多 RAM,内核将在必要时释放缓存和缓冲区以满足请求。

此 ServerFault 答案解释了如何解释free.


use*_*own 8

你不需要这样做。

如果缓存中有东西,有两种可能性:

  • 再次需要它
  • 不再需要它

在第一种情况下,它最好尽可能长时间地保留在 RAM 中,这意味着:另一个进程需要 RAM。然后它会在没有您干预的情况下自动丢弃。

在第二种情况下,它不会打扰。清理缓存是不必要的工作,只会产生负面影响。


mat*_*eek 7

sync
echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

详情请看这里。

另一个问题是你为什么要这样做?

  • 实际上,您应该给出解释,而不仅仅是复制/粘贴命令。 (2认同)