我的服务器的 buff/cache RAM 使用率很高吗?

我的服务器的 buff/cache RAM 使用率很高吗?

最近我发现我的服务器Ubuntu 18.04 LTS的 buff/cache 内存使用率很高。

free -mh
              total        used        free      shared  buff/cache   available
Mem:           7.8G        1.5G        4.4G        109M        1.9G        5.9G
Swap:          8.0G          0B        8.0G

这是在重新启动服务器之后,之前的情况5GB

top - 09:39:07 up 18 min,  1 user,  load average: 0.09, 0.28, 0.58
Tasks: 161 total,   1 running, 104 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.1 sy,  0.0 ni, 99.1 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8153548 total,  4574140 free,  1534508 used,  2044900 buff/cache
KiB Swap:  8388604 total,  8388604 free,        0 used.  6202180 avail Mem 

跑去把它扔下之后echo 3 > /proc/sys/vm/drop_caches,它又开始飞得很高。

我如何才能检测谁消耗了最多的 buff/cache,以及如果消耗得那么高我是否应该担心?

答案1

如果涨得这么高我应该担心吗?

不是。在 Linux 上,缓存的优先级较低,并且可以自动轻松回收。https://www.linuxatemyram.com/

实际上,一半内存是空闲的意味着您拥有两倍于您“需要”的 RAM,而另一半则未被使用。进行一些容量规划,以检查此主机的工作负载是否会增加。如果没有,您可以减少并重新利用其内存。例如,将虚拟机的 RAM 分配减少到 6 或 4 GB。

跑去把它扔下之后echo 3 > /proc/sys/vm/drop_caches,它又开始飞得很高。

不要 drop_caches,这没有任何操作目的,而且会使速度变慢。它的良好用例仅限于冷启动基准测试。

相关内容