检查C++应用程序运行时期间的各种内存使用情况

我使用的是CentOS 7,运行的是C++应用程序。最近,我切换到了一个较新版本的库,该应用程序使用该库来实现各种MySQL C应用编程接口函数。但是在集成了新的库之后,我发现程序的内存使用量有了极大的增加,也就是说,如果应用程序运行超过一两天,就会崩溃。准确地说,发生的情况是应用程序的内存使用量开始增加,直到应用程序单独使用系统总内存的74.9%,然后被系统强制关闭。

有没有办法跟踪整个应用程序的内存使用情况,包括静态变量。我已经尝试过valgrind的工具Massif。

谁能告诉我内存使用率增加的可能原因是什么,或者有什么工具可以让我深入了解内存是如何分配的(静态和动态)。有没有什么工具可以告诉我们在linux环境下运行的C++应用程序的内存分配?

提前感谢!

转载请注明出处:http://www.cospi.net/article/20230401/1052932.html