如何获取OS X/macOS进程的内存使用情况

23
在Ubuntu中,运行命令/usr/bin/time -v any-command可以告诉我关于any-command的内存使用情况和其他一些信息。 (来源:https://dev59.com/3HRA5IYBdhLWcg3w8SiJ#774601)
我想在OS X/macOS中做同样的事情。
请问如何像Ubuntu中的/usr/bin/time -v那样获取进程的内存使用情况?

1
最好的方法是使用Homebrew安装GNU time。请参见https://dev59.com/7FwY5IYBdhLWcg3wh4Lc#32515486 - sideshowbarker
2个回答

59

不需要安装任何东西,您可以按照以下方式使用由苹果提供的/usr/bin/time

/usr/bin/time -l <DO SOMETHING>

重要的是使用完整路径 /usr/bin/time,因为time会调用bash并导致错误:-bash: -l: command not found

样本输出

0.04 real         
0.00 user
0.00 sys
   2830336  maximum resident set size       <-- peak memory usage
         0  average shared memory size
         0  average unshared data size
         0  average unshared stack size
       462  page reclaims
       253  page faults
         0  swaps
        13  block input operations
         3  block output operations
         0  messages sent
         0  messages received
         0  signals received
        26  voluntary context switches
        94  involuntary context switches

非常感谢您的完美回答!! - ryo
7
万一有人想知道:这是以字节为单位,不像Linux使用的是千字节。 - user31389

4

对我来说,下一个命令非常好用:

ps -axm -o %mem,rss,comm | grep <programm name>

此外,您可以使用grep查找所需内容,例如PID。 - voltento
1
对于进程的特定细节,例如 ps -xm -o %mem,rss,comm -p $(pgrep InDesign),请使用 ps -xm -o %mem,rss,comm -p $(pgrep <process-name>) - spyle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接