我做了一个运行几毫秒的C程序。
我想知道运行程序需要多少内存(堆栈和堆)。
我使用了Valgrind (massif),但它只定期测量内存。
我怎么才能得到它呢?
谢谢。
发布于 2017-03-15 16:21:01
如果您的代码是用C或C++编写的,那么您可以使用getrusage(),它将返回有关进程的内存和时间使用情况的各种统计信息。
不过,并不是所有的平台都支持这一点,并将为内存使用选项返回0值。
相反,您可以查看在/proc/ pid /statm中创建的虚拟文件(其中pid被您的进程id替换。您可以从getpid()获取。
这个文件看起来像一个包含7个整数的文本文件。您可能对此文件中的第一个(所有内存使用)和第六个(数据内存使用)数字最感兴趣
发布于 2017-03-15 20:28:43
$ /usr/bin/time -v /path/to/your/programhttps://stackoverflow.com/questions/42804316
复制相似问题