准确获取Linux上的内存使用情况

准确获取Linux上的内存使用情况

我正在尝试将此功能合并到我正在编写的脚本中。据我所知,“free -m”报告不准确。据我所知,内存使用情况,Linux 不会“释放”它,直到它真正需要它。例如,如果我有 32GB 的 RAM,并且我做了

 malloc(1024*1024*1024*31)

在我弹出框之前,似乎所有内存都已使用(即使在终止进程之后)。有没有简单的方法可以获取准确的内存计数?例如,如果所有 100 个进程和内核加起来使用了 14GB 的 RAM,那么无论 free -m 说什么,我都希望报告 14GB。

答案1

我花了一点时间才理解这一点。运行“free -m”时,您需要查看 free 列下的“-/+ buffers/cache”行。这显示了可用的内存。已使用并释放回系统的内存只是以不同的方式表示。就系统而言,它不是空闲的,但它也没有被使用,可供程序使用。

相关内容