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



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

在网上搜索后,我发现pidstat中存在错误,我需要更新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

在你引用的 Sysstat 教程页面上说:

我注意到pidstat有一个内存占用(VSZ和RSS字段) 随着时间的流逝,这种情况不断增加。我很快找到了 我忘记在我的函数中关闭文件描述符 代码,这是导致内存泄漏的原因...!

所以,pidstat的输出从来都不是无效的;相反,作者写道

pidstat

帮助我在 pidstat 命令中检测内存泄漏 本身。

相关内容

  • 没有找到相关文章

最新更新