linux中长时间运行进程的峰值内存测量

如何监控Linux中进程消耗的峰值内存?
这不是我可以在内部修改以测量峰值内存使用的程序.

我真的不想要详细测量,也不希望它们过度减慢我的程序..所以valgrind或任何重量级的东西都不是我想要的…
和之前的其他帖子一样[Peak memory usage of a linux/unix process,时间-v似乎没有为我的机器报告内存…

我可以运行top或ps并提取内存消耗的字符串
我的进程ID使用一个简单的脚本.但是,我的过程运行大约20-30分钟,所以我希望能够记录并获得最大值.
我可以忍受粗粒样品……每1分钟左右…具体如何 – >>
1.在zsh中分享这个简单的mem-measure脚本?
2.当测试过程结束时杀死它?

只需使用top -n迭代指定的次数,然后使用-d在更新之间进行延迟.此外,您只需抓住其pid即可获取与您的流程相关的输出,例如:

top -n 30 -d 60 | grep <process-id>

阅读顶部手册页以获取更多信息

man top

当然,您也可以使用awk获取所需的列.

翻译自:https://stackoverflow.com/questions/1080461/peak-memory-measurement-of-long-running-process-in-linux

转载注明原文:linux中长时间运行进程的峰值内存测量