我想知道我的应用程序使用了多少内存。我也想知道我的程序的哪个部分使用了最多的内存。例如,我有一个使用100MB内存的进程,该进程中有一个使用90MB内存的.dll。我想知道“什么”.dll需要90MB。
我想取这个值并在我的程序中使用它;我想创建一个服务器,您可以在其中查看单独部件的内存使用情况。
此应用程序将在Windows上运行。
答案 0 :(得分:1)
问题完全取决于操作系统。
(我假设DLL转换为Linux世界中动态加载的库和ELF共享对象)
对于Linux应用程序,您的应用程序可以按顺序读取/proc/self/maps
文本伪文件。
如果您知道自己的申请流程ID是1234,那么您还可以阅读/proc/1234/maps
文件,例如:通过键入终端
cat /proc/1234/maps
还有/proc/self/smaps
和/proc/1234/smaps
更加详细。