缓存很快就达到满级

缓存很快就达到满级

请注意,在我的 linux mint 9 - isadora 系统下,内存和缓存很快就达到满负荷水平。我以前使用过 Ubuntu 和 Debian,但根本没有导致此问题。目前,我经常输入以下命令来清空缓存“echo 3 > /proc/sys/vm/drop_caches”。

请问有什么办法可以解决这个问题吗?或者您知道出了什么问题吗?| 我只在这台机器上编程;没有图形,没有游戏,什么都没有。

在此先感谢您的帮助!

答案1

内核使用一种算法来尝试用尽可能多的内容填充缓存。缓存就是缓存,这就是它存在的目的,缓存中的内容越多,我们可能需要返回磁盘的内容就越少。请记住,磁盘可能比缓存慢 100 倍。

为什么这是个问题或者您遇到了什么问题?您使用什么来查看内存有多“满”?您应该使用空闲的 +/- 缓冲区/缓存列:

$ free
             total       used       free     shared    buffers     cached
Mem:        968304     922820      45484          0     318792     205404
-/+ buffers/cache:     398624     569680
Swap:            0          0          0

该系统有超过一半的内存可用。它处于相当好的状态。

如果系统的 Mem 列中有大量可用内存,则通常意味着它拥有的内存太多,内核甚至无法找到它的用途(例如,内存比数据库的大小还多)。这意味着您浪费了内存。

答案2

Linux 将尽可能多地使用内存作为缓存。如果不这样做,就会有更多的磁盘流量来不断从磁盘重新读取信息。一旦需要它来做更有用的事情,它就会被用于此。别担心,它知道自己在做什么。

答案3

这是设计使然。大多数 Linux 系统会尽可能多地缓存,并根据需要释放内存。

相关内容