首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算进程消耗的最大空闲存储内存。

问计算进程消耗的最大空闲存储内存。
EN

Stack Overflow用户
提问于 2011-05-30 19:34:21
回答 2查看 200关注 0票数 2

我想比较一组进程动态分配的堆的最大数量。Linux中是否有任何系统命令或任何应用程序可以自动执行此操作?类似于运行进程并监视进程消耗多少内存的监视工具。

不幸的是,size(1)命令只反映进程的文本和数据内存部分,以及进程使用的平均内存的进程记帐报告。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-30 19:50:07

pmap并不坏,但它只给您一个快照,而不是最大值。

您可能想看看getrusage()。在新内核(2.6.32;不确定确切的切断)上,ru_*rss字段实际上是填充的。(在较老的内核中,它们总是被设置为零.)

还可以尝试"cat /proc//status“并查看VmPeak (它显示峰值虚拟内存使用情况)和VmHWM (它显示峰值驻留集大小)。这两者都是“高水标记”,就像它们在一个过程的一生中上升,但从未下降。如果您可以在进程终止时获取它们的快照,则可以自己收集数据。

我曾经编写过一个.so来完成这个任务;它通过修补exit()来工作(并且使用LD_PRELOAD调用它)。但这是为了工作,我没有一份副本。

票数 1
EN

Stack Overflow用户

发布于 2011-05-30 20:13:57

尝试使用像缬草地块这样的内存分析器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6180110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档