首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取linux中短时间运行程序的峰值内存(堆和栈)

获取linux中短时间运行程序的峰值内存(堆和栈)
EN

Stack Overflow用户
提问于 2017-03-15 16:17:25
回答 2查看 109关注 0票数 0

我做了一个运行几毫秒的C程序。

我想知道运行程序需要多少内存(堆栈和堆)。

我使用了Valgrind (massif),但它只定期测量内存。

我怎么才能得到它呢?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-03-15 16:21:01

如果您的代码是用C或C++编写的,那么您可以使用getrusage(),它将返回有关进程的内存和时间使用情况的各种统计信息。

不过,并不是所有的平台都支持这一点,并将为内存使用选项返回0值。

相反,您可以查看在/proc/ pid /statm中创建的虚拟文件(其中pid被您的进程id替换。您可以从getpid()获取。

这个文件看起来像一个包含7个整数的文本文件。您可能对此文件中的第一个(所有内存使用)和第六个(数据内存使用)数字最感兴趣

票数 0
EN

Stack Overflow用户

发布于 2017-03-15 20:28:43

代码语言:javascript
复制
$ /usr/bin/time -v /path/to/your/program
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42804316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档