Protect Read/Write
Type Private
Address: 00040000 Size: 0003B000 RegionSize: 40000
State Reserved
Type Private
................................
(为便于阅读,省略了部分行。)
对于每个块,都可以看到下列信息:
Address:十六进制格式,相对于进程虚拟地址空间起始位置的偏移量。
Size:字节数,用十六进制表示。
State:自由、保留或提交。
Protection status:只读或/读写。
Type:私有(不能被其他进程访问)、映射(直接来自文件系统)或镜像(可执行代码) 。
然后列出进程使用的所有 DLL 及其大小,后面是工作集和分页文件使用的统计信息。
如何监控Java应用程序的Windows内存使用情况(9)
时间:2011-04-16 IBM Emma Shepherd
目前为止,所提到的信息都可以从其他工具获得。但是通过 VADump 的 -o 选项还可以得 到更有启发作用的输出结果。它可以生成当前工作集的快照(某一给定时刻实际存在于主存 中的页面)。关于该选项文档没有提供多少信息,但是在确定驻留集中最重要的部分时,这 是一个极其有用的工具,这样能够确定最可能的内存优化目标。通过定期记录内存快照,您 还可以使用它确定是否存在内存泄漏。这种模式下,输出从虚拟地址空间中提交页面的详尽 转储开始,无论这些页面是否还在主存中:
>vadump -o -p 3904
0x00010000 (0) PRIVATE Base 0x00010000
0x00011000 (0) PRIVATE Base 0x00010000
0x00020000 (0) PRIVATE Base 0x00020000
0x00030000 (0) PRIVATE Base 0x00030000
0x00031000 (0) Private Heap 2
0x00032000 (0) Private Heap 2
0x00033000 (0) Private Heap 2
0x00034000 (0) Private Heap 2
0x00035000 (0) Private Heap 2
0x00036000 (0) Private Heap 2
0x00037000 (0) Private Heap 2
0x00038000 (0) Private Heap 2
0x00039000 (0) Private Heap 2
0x0003A000 (0) Private Heap 2
0x0003B000 (0) Private Heap 2
0x0003C000 (0) Private Heap 2
0x0003D000 (0) Private Heap 2
0x0003E000 (0) Private Heap 2
0x0003F000 (0) Private Heap 2
0x0007C000 (0) Stack for ThreadID 00000F64
0x0007D000 (0) Stack for ThreadID 00000F64
0x0007E000 (0) Stack for ThreadID 00000F64
0x0007F000 (0) Stack for ThreadID 00000F64
0x00080000 (7) UNKNOWN_MAPPED Base 0x00080000
0x00090000 (0) PRIVATE Base 0x00090000
0x00091000 (0) Process Heap
0x00092000 (0) Process Heap
0x00093000 (0) Process Heap
...........................
滚动到这个长长的列表的最后,您会看到更有趣的信息:目前驻留主存的进程页面的页表 映射清单:
0xC0000000 > (0x00000000 : 0x003FFFFF) 132 Resident Pages
(0x00280000 : 0x00286000) > jsig.dll
(0x00290000 : 0x00297000) > xhpi.dll
(0x002A0000 : 0x002AF000) > hpi.dll
(0x003C0000 : 0x003D8000) > java.dll
(0x003E0000 : 0x003F7000) > core.dll
(0x00090000 : 0x00190000) > Process Heap segment 0
(0x00190000 : 0x001A0000) > Private Heap 0 segment 0
(0x001A0000 : 0x001B0000) > UNKNOWN Heap 1 segment 0
(0x00380000 : 0x00390000) > Process Heap segment 0
(0x00030000 : 0x00040000) > Private Heap 2 segment 0
(0x00390000 : 0x003A0000) > Private Heap 3 segment 0
(0x00040000 : 0x00080000) > Stack for thread 0
0xC0001000 > (0x00400000 : 0x007FFFFF)
|