WIN:win7、jdk1.6.0
Server:linux、jdk1.6.0_03、tomcat6
主要从下面三个方面描述JVM内存监控流程:
◆jmap(MemoryMap)JVM内存对象打印工具
◆jstatd配置
◆Tomcat配置JMX
1.使用Jmap简单查看tomcat内存占用情况:
显示Java进程内存使用的相关信息
jmap pid #打印内存使用的摘要信息
jmap –heap pid #java heap信息
jmap -histo:live pid #统计对象count ,live表示在使用
jmap -histo pid >mem.txt #打印比较简单的各个有多少个对象占了多少内存的信息,一般重定向的文件
jmap -dump:format=b,file=mem.hprof pid #将内存使用的详细情况输出到mem.hprof 文件,这个文件很大,我设置的内存是8G文件大约2G,应该跟内存差不多大。
2.使用jvisualvm.exe
该文件位置在jdk1.6.0_29\bin下,1.6以后才有。
1.可以用将上一步生成的mem.hprof 直接用这个软件打开
然后便可以看到相应的信息并进行分析。如下图:
要监控远程linux主机上的tomcat服务情况还要用到jstatd