C++程序的总空间使用量

efzxgjgh  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(134)

我正在编写一个C++程序,我想找到它在执行过程中使用的总内存。我的操作系统是Ubuntu 19.10。我发现this是一个相关的问题,但它似乎解决了一个非常不同的问题。任何帮助/指导都很好。谢谢!

jgovgodb

jgovgodb1#

您可以使用命令行工具top来监视进程的内存使用情况。只需运行:

top -p PID

字符串
其中PID是要监视其内存使用情况的C++可执行文件的进程ID。

jgzswidk

jgzswidk2#

正如你在自己问题的评论部分所提到的,我们可以使用命令行程序GNU time来实现这一点。

注意事项

不过请注意,这个方法只在你想知道你的程序在停止之前使用的最大内存时有用,这对于确认你正在调试的可执行文件是否有超时内存泄漏很有用。
如果你想实时监控,那么我推荐@spjy的方法。

设置

通过你的Linux发行版上的任何包管理器获得它。
注意,在Linux系统上,它默认带有一个时间的默认版本,因此如果你运行time,它将运行默认版本,而不是你刚刚安装的版本。
如果想运行你安装的版本,你可以直接调用它/usr/bin/time。然后你需要的命令是

/usr/bin/time -v <path to executable>

字符串
命令完成后,查看Maximum resident set size (kbytes)行,看看程序最多使用了多少内存。

相关问题