我需要从vmstat获取以%为单位的内存使用情况,但我不太了解vmstat中显示的与内存有关的一些数字。
特别是给定这样的输出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 139728 45396 199128 1236360 1 2 4 622 3 1 51 4 43 2 0
系统的总内存量是多少?是“ swpd” +“免费” +“ buff” +“缓存”,总计为1620612?
系统的可用内存量是多少?是否显示为“免费”列中的45396?
问题是他们没有加起来,甚至看起来都不接近“最高”报告的内容。我与上面的“ vmstat”大致相同的时间是“ top”的输出:
[...]
Mem: 4059616k total, 3965504k used, 94112k free, 200020k buffers
[...]
所以...我假设'vmstat'中必须存在我不知道的隐藏数字/选项?
为此,我需要使用“ vmstat”,而不是其他命令,因为这是要求。
因此,理想情况下,我想从“ vmstat”中获得的是内存使用百分比,如下所示:
<used_memory>/<total_memory> * 100%.
谢谢!