仅显示内存使用情况

仅显示内存使用情况

我有个简单的问题。我如何自定义 free 或 vmstat 或 top 命令的显示以仅显示内存使用情况,因为我希望通过 MRTG 绘制结果。

答案1

你可以通过 grep 传递内容/proc/meminfo来获取所需的行。例如:

swann:/home/dspillett# grep MemTotal /proc/meminfo
MemTotal:      6099676 kB
swann:/home/dspillett# grep ^Cached /proc/meminfo
Cached:        5418912 kB

(在查找“cached”的命令中的 ^ 表示grep只在行首匹配,因此它不会找到 SwapCached 值的行)

或者如果您想要一次显示多行,请使用扩展匹配选项,以便可以使用“或”运算符:

swann:/home/dspillett# egrep '^MemTotal:|^MemFree:|^Buffers:|^Cached:' /proc/meminfo
MemTotal:      6099676 kB
MemFree:         37596 kB
Buffers:         73084 kB
Cached:        5418912 kB

您可以使用tr仅返回单个项目的数值:

swann:/home/dspillett# grep MemTotal /proc/meminfo | tr -d "[A-Z][a-z]: "
6099676
swann:/home/dspillett# egrep '^MemTotal:|^MemFree:|^Buffers:|^Cached:' /proc/meminfo   | tr -d "[A-Z][a-z]: "
6099676
182808
75488
5276000

还有许多其他标准文本处理程序(cutpastesedawkxargs...),您可以通过这些程序将结果通过管道传输到不同的格式。如果您在问题中给出了所需的格式,如果您不只是在寻找单个数值,则上述内容将满足您的要求,我们可以告诉您需要通过哪些过滤器传递信息才能获得所需的结果。我自己不使用 MRTG,所以我只能猜测它所需的输入格式。

答案2

/proc/meminfo包含各种内存统计数据,您可以从中获取值并根据自己的心意进行操作。

答案3

严格来说,这并不是对您的问题的回答,但如果您有一个 /proc 文件系统,您也许能够从 /proc/meminfo 中 grep 出您感兴趣的信息。

相关内容