是否有一种工具可以运行命令行并报告峰值RAM使用总量?

我正在想象类似于/usr/bin/time的东西


当前回答

下面是(基于其他答案)一个非常简单的脚本,用于监视已经运行的进程。你只需要用你想要观察的进程的pid作为参数来运行它:

#!/usr/bin/env bash

pid=$1

while ps $pid >/dev/null
do
    ps -o vsz= ${pid}
    sleep 1
done | sort -n | tail -n1

使用示例:

max_mem_usage.sh 23423

其他回答

好吧,如果你真的想显示内存峰值和一些更深入的统计数据,我建议使用一个分析器,如valgrind。一个很好的valgrind前端是alleyoop。

使用Massif: http://valgrind.org/docs/manual/ms-manual.html

在macOS上,可以改用DTrace。“Instruments”应用是一个很好的GUI,它带有XCode afaik。

你可以使用Valgrind这样的工具来做到这一点。

在MacOS Sierra上使用:

/usr/bin/time -l commandToMeasure

你可以用grep获取你想要的。