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

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

我的处理器正在使用 RAM 内存的很大一部分作为缓存,因此我想清理它;它会损害某些东西吗?

答案1

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

这个服务器故障答案解释如何解释 报告的内存使用情况free

答案2

你不需要这样做。

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

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

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

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

答案3

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

详细信息请看这里。

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

答案4

我的处理器正在使用 RAM 内存的很大一部分作为缓存,因此我想清理它;它会损害某些东西吗?

是的,当前缓存中的大部分内容都需要从磁盘中获取。从磁盘访问过去比内存访问慢 100 倍。内存速度提高了,比磁盘速度快得多,因此可能慢数十倍或数千倍。因此,当您第一次访问刷新的数据时,任何需要缓存中的内容的操作都会变慢。人类是否可以感知取决于需要检索多少。

与磁盘相比,RAM 是一种相对昂贵的商品,但仍然相当便宜。缓存不是永久的,如果需要运行程序或缓存最近使用的内容,缓存中最旧的内容将被释放。

相关内容