如何报告自己的内存使用情况

How to report own memory usage C++

本文关键字:内存 用情 情况 自己的 何报告 报告      更新时间:2023-10-16

我需要在c++ (c++ 11)中打印自己的应用程序内存使用情况以查找内存泄漏。我只使用shared_ptr,但我的程序占用4GB,输入是1GB,输出~ 0,1gb。

我有一个大的

for (const std::string & file_name : *files){
    try{some_instructions_with_shared_ptr_here}}

不要这样,因为我只有很小的数据结构,里面只有shared_ptr。这可能是问题与其他类或数据结构,所以我想知道什么时候内存泄漏。

使用shared_ptr不是无泄漏机制。如果你的shared_ptr指针中有循环,那么堆将永远不会被释放。valgrind也不会检测到。

也许使用setrlimit来限制你的应用程序资源,看看gdb在哪里崩溃会给你一些提示。