我刚刚推出了一台新的 ubuntu 机器。可用内存合理,但空闲内存非常小:
cat /proc/meminfo |more
MemTotal: 2034484 kB
MemFree: 703496 kB
MemAvailable: 1538076 kB
Buffers: 80332 kB
Cached: 829408 kB
我应该如何计算used_memory?根据https://stackoverflow.com/questions/41224738/how-to-calculate-system-memory-usage-from-proc-meminfo-like-htop
Used_mem = Total_mem- Free_mem
这对我来说没有意义,因为如果我使用这个方程,机器已经使用了很多,尽管它还没有运行任何东西。我觉得也许
Used_mem = Total_mem- Available_mem
对我来说更有意义。
所以我的问题是:如何计算已使用的内存?或者如何计算真正可以免费使用的内存?上面显示的可用内存一定不正确。
注意我使用node_exporter指标计算used_memory。
答案1
查看该free
命令的手册页:
free displays the total amount of free and used physical and swap mem‐
ory in the system, as well as the buffers and caches used by the ker‐
nel. The information is gathered by parsing /proc/meminfo. The dis‐
played columns are:
total Total installed memory (MemTotal and SwapTotal in /proc/meminfo)
used Used memory (calculated as total - free - buffers - cache)
free Unused memory (MemFree and SwapFree in /proc/meminfo)
etc...