我使用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
答案 0 :(得分:0)
在Sysstat教程页面上,您可以参考它:
我注意到pidstat有内存占用(VSZ和RSS字段) 随着时间的推移,这种情况不断增加。我很快找到了 我忘了在我的函数中关闭文件描述符 代码和负责内存泄漏...!
因此,pidstat
的输出从未失效;相反,作者写了
pidstat帮我检测了pidstat命令中的内存泄漏 本身。