从pidstat的无效输出计算正确的内存利用率

时间:2014-01-09 12:40:19

标签: linux performance bash

我使用pidstat -r -p <pid> <interval> >> log_Path/MemStat.CSV &命令来收集内存统计信息。 运行此命令后,我发现RSS VSZ%MEM值连续增加,这是不可预期的,因为pidstat提供了考虑间隔的值。

在网上搜索后我发现pidstat中有bug,我需要更新syssat包。 (请参阅此链接上的pidstat作者的最后几条陈述:http://sebastien.godard.pagesperso-orange.fr/tutorial.html

现在,我的问题是,如何从当前输出计算正确的%MEM利用率,因为我们无法再次运行测试。 样本输出:

Time        PID    minflt/s majflt/s    VSZ     RSS     %MEM
9:55:22 AM  18236   1280    0       26071488    119136  0.36
9:55:23 AM  18236   4273    0       27402768    126276  0.38
9:55:24 AM  18236   9831    0       27402800    162468  0.49
9:55:25 AM  18236   161     0       27402800    169092  0.51
9:55:26 AM  18236   51      0       27402800    175416  0.53
9:55:27 AM  18236   6859    0       27402800    198340  0.6
9:55:28 AM  18236   1440    0       27402800    203608  0.62

1 个答案:

答案 0 :(得分:0)

在Sysstat教程页面上,您可以参考它:

  

我注意到pidstat有内存占用(VSZ和RSS字段)   随着时间的推移,这种情况不断增加。我很快找到了   我忘了在我的函数中关闭文件描述符   代码和负责内存泄漏...!

因此,pidstat的输出从未失效;相反,作者写了

  

pidstat帮我检测了pidstat命令中的内存泄漏   本身。