一个Linux/Unix进程的峰值内存使用量

21 浏览
0 Comments

一个Linux/Unix进程的峰值内存使用量

已关闭。这个问题不符合 Stack Overflow指南,目前不接受答案。


 

这个问题似乎与具体编程问题、软件算法或主要由程序员使用的软件工具无关。如果您认为该问题可以在其他 Stack Exchange 站点上发布,您可以留下评论解释可能能够回答该问题的地方。

社区已经评审了去年是否重新打开这个问题 last year 并将其保持关闭状态:

原关闭原因未解决


改善这个问题

有没有一种工具可以运行命令行并报告峰值RAM使用情况的总和?

我想象着类似于/usr/bin/time的东西。

admin 更改状态以发布 2023年5月21日
0
0 Comments

(这是一个已被回答的陈旧问题... 但只是为了记录 🙂

我受到Yang脚本的启发, 开发了这个名为memusg的小工具. 我仅仅将采样率增加到了0.1来处理那些非常短命的进程. 我并不是监视单个进程, 而是测量进程组的rss总和. (是的,我写了很多独立的程序配合使用)它目前可以在Mac OS X和Linux上使用.使用方法类似于time:

memusg ls -alR / >/dev/null

目前它仅显示峰值, 但我对记录其他(粗略)统计数据的微小扩展非常感兴趣.

在我们开始任何严格的分析之前, 有这样简单的工具来看看情况是非常好的.

0
0 Comments

[编辑:在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
0