*nix 测量内存使用情况

pis*_*hio 6 unix memory performance-monitoring

我想测量程序在执行期间使用的总内存(如 RAM)。理想情况下,类似的东西time会在程序退出时运行程序并打印统计信息。

unix/linux/bsd 世界里有这么标准的工具吗?谢谢。

编辑

我试图分析的程序需要几分之一秒的时间来执行,所以任何暗示“运行时检查这个”的东西都不起作用。这就是为什么我要一个“时间”之类的工具。

jan*_*neb 1

在 Linux 上,您可以读取 /proc/[pid]/status;VmPeak字段是最大虚拟内存大小,VmHWM是最大驻留集大小。

getrusage() 系统调用可能有帮助,也可能没有帮助。struct rusage 包含一个 maxrss 字段,但至少在 Linux 上它永远不会被填充。