【发布时间】:2012-02-10 11:15:56
【问题描述】:
我想找出哪些库使用的内存最多。我想在我的应用程序中制作一种内存记录器。这需要以编程方式查找自己的进程中哪些库使用了多少内存。
例如,我有一个使用 10MB 内存的程序,其中有一个使用 9MB 内存的 .dll。我想查看所有的 dll 以及它们使用了多少内存。 此应用程序将在 Windows 上运行。一切都需要以编程方式完成。
【问题讨论】:
-
只是 DLL 本身还是包括它们分配的所有动态内存?
-
包括他们分配的所有动态内存
-
除非有理由自己编写代码,否则您至少应该查看code.google.com/p/gperftools/wiki/GooglePerformanceTools 的堆分析器。它在 UNIX 方面几乎可以满足您的需求,而且还具有(我未经测试的)Windows 支持。如果不出意外,这是获得一些想法的好起点。
-
DLL 不拥有内存。进程可以。