一个Linux/Unix进程的峰值内存使用量
一个Linux/Unix进程的峰值内存使用量
已关闭。这个问题不符合 Stack Overflow指南,目前不接受答案。
这个问题似乎与具体编程问题、软件算法或主要由程序员使用的软件工具无关。如果您认为该问题可以在其他 Stack Exchange 站点上发布,您可以留下评论解释可能能够回答该问题的地方。
社区已经评审了去年是否重新打开这个问题 last year 并将其保持关闭状态:
原关闭原因未解决
有没有一种工具可以运行命令行并报告峰值RAM使用情况的总和?
我想象着类似于/usr/bin/time的东西。
admin 更改状态以发布 2023年5月21日
(这是一个已被回答的陈旧问题... 但只是为了记录 🙂
我受到Yang脚本的启发, 开发了这个名为memusg的小工具. 我仅仅将采样率增加到了0.1来处理那些非常短命的进程. 我并不是监视单个进程, 而是测量进程组的rss总和. (是的,我写了很多独立的程序配合使用)它目前可以在Mac OS X和Linux上使用.使用方法类似于time
:
memusg ls -alR / >/dev/null
目前它仅显示峰值, 但我对记录其他(粗略)统计数据的微小扩展非常感兴趣.
在我们开始任何严格的分析之前, 有这样简单的工具来看看情况是非常好的.
[编辑:在Ubuntu 14.04上可用:/usr/bin/time -v command
,请确保使用完整路径。]
看起来,如果你传递-v
参数(这是在Ubuntu 8.10上),/usr/bin/time
会给你提供有关进程信息。 如下所示,例如:最大驻留集大小
:
$ /usr/bin/time -v ls / .... 正在计时的命令:"ls /" 用户时间(秒):0.00 系统时间(秒):0.01 这个作业所获得的CPU百分比:250% 经过的时间(挂钟时间)(h:mm:ss或m:ss):0:00.00 平均共享文本大小(kbytes):0 平均未共享数据大小(kbytes):0 平均栈大小(kbytes):0 平均总大小(kbytes):0 最大驻留集大小(kbytes):0 平均驻留集大小(kbytes):0 主要(需要I/O)页面故障:0 次要(回收帧)页面故障:315 自愿上下文切换:2 非自愿的上下文切换:0 交换:0 文件系统输入:0 文件系统输出:0 发送的套接字消息:0 接收的套接字消息:0 发送的信号:0 页面大小(字节):4096 退出状态:0