我做了一个运行大约几毫秒的C程序。
我想知道运行程序需要多少(堆栈和堆)内存。
我使用了Valgrind(massif),但它只是定期测量内存。
我怎样才能得到它?
感谢。
答案 0 :(得分:0)
如果您的代码是C或C ++,您可以使用getrusage(),它会返回有关内存和进程时间使用情况的各种统计信息。
并非所有平台都支持此功能,并且将为内存使用选项返回0值。
相反,您可以查看在/ proc / [pid] / statm中创建的虚拟文件(其中[pid]被您的进程ID替换。您可以从getpid()获取此信息。)
此文件看起来像一个包含7个整数的文本文件。您可能对此文件中的第一个(所有内存使用)和第六个(数据内存使用)数字最感兴趣
答案 1 :(得分:0)
$ /usr/bin/time -v /path/to/your/program