快速业务通道

如何监控Java应用程序的Windows内存使用情况 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
  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) 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号