我们在Linux上运行着一个大型多线程C++应用程序。我们看到应用程序内存占用增长很快,并认为存在一些泄漏。我们尝试了我们所有的工具(valgrind,DynLeak,Purify),但没有找到任何东西。由于这个应用程序可以在Windows上运行,我们也尝试了Bounds Checker。也没有帮助。Linux上多线程C++应用程序中的内存泄漏
我们需要一个可以提供帮助的新工具。我曾看过Google Perfomrance Tools,MemCheck Deluxe的Paul Nettle的MMGR。他们没有给我留下深刻的印象。
是否有任何地方有这个任务的好工具?
如果上述工具无法找到泄漏,那么您认为是否有泄漏?你的应用程序可能只是使用所有的内存。或者,即使它没有使用它,你的应用仍然保留着内存。对于最后一种情况,不会有泄漏,只是内存使用或清理效率低下。 –
也许[this](http://blogs.msdn.com/b/ie/archive/2007/11/29/tools-for-detecting-memory-leaks.aspx)可以提供帮助。但是如果没有使用其他工具检测到泄漏,你怎么能确定存在内存泄漏? –
泄漏可能存在于第三方库中,或者您可能只是在应用程序或操作系统中看到资源池和其他缓存的结果......大内存使用不一定是内存泄漏的标志。看看它是否在相同的负载下不断增长。 – AJG85