查找 bash 中命令的内存使用量

查找 bash 中命令的内存使用量

我编写了一个程序,现在我需要测量它的性能,因此我用它time来查找时间,但是是否有像时间这样的命令,我可以在其下运行我的程序并获取程序使用的内存量?(像什么time一样)

我使用 C/C++、java、python 等进行编程,所以我需要一个统一的工具(如time)来测量内存使用情况。

非常感谢!

答案1

ps、、topatop不会给你最准确的答案。这堆栈交换主题详细讨论了这个问题,并指出了写得很好的博客文章关于这个话题,详细说明了为什么会出现这种情况。

有更好的工具可以帮助你量化内存使用情况,并且valgrind 看起来是个好工具。您可以通过运行以下命令来安装:

sudo apt-get install valgrind

假设您有一个名为 hello_world 的程序:

gcc -o hello_world -g hello_world.c

要获取此程序的堆配置文件,您可以运行:

valgrind --tool=massif ./hello_world

这将向您的屏幕提供通用输出,实际结果将保存到同一目录中的文件中,其格式为:

massif.out.pid

其中 pid 是您在那个实例中运行 hello_world 的程序 id。

最好time单独获取信息,即不要尝试同时运行valgrind和。 stackoverflow 链接提供了其他替代方案。time

相关内容