JVM分析工具

jstat

jvm内存使用情况分析工具。

jstat -gcutil pid


图中参数含义如下:
    S0 — Heap上的 Survivor space 0 区已使用空间的百分比     S1 — Heap上的 Survivor space 1 区已使用空间的百分比     E   — Heap上的 Eden space 区已使用空间的百分比     O   — Heap上的 Old space 区已使用空间的百分比     P   — Perm space 区已使用空间的百分比
    YGC — 从应用程序启动到采样时发生 Young GC 的次数
    YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)     FGC — 从应用程序启动到采样时发生 Full GC 的次数
    FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)     GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)


详细介绍:http://blog.163.com/bobile45@126/blog/static/9606199220139303343415/


jps

显示当前环境下正在运行的java应用

4288     (no name ,maybe it's eclipse)

4264    MessageServer  (my custom java project)

4448   Jps

Jmap

是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。

使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)。

jmap -J-d64 -heap pid      //64位环境下

jmap -finalizerinfo 3772   // 打印正等候回收的对象的信息

jmap –heap 3772             // 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况./

jmap–histo:live 3772       //只统计活的对象数量.



MAT

eclipse 内存分析工具

http://blog.csdn.net/fenglibing/article/details/6298326

1、C:/>jps

3504 Jps

3676 Bootstrap

3496 org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

2、调用jmap工具得到信息,将heap信息dump到本地文件heap.bin中(默认一hprof)

C:/>jmap -dump:format=b,file=heap.bin 3676

Dumping heap to C:/heap.bin ...

Heap dump file created

3、通过mat工具导入上面生成的内存dump文件


jstack

dump运行的线程信息

jstack命令的语法格式: jstack  <pid>。可以用jps查看java进程id。这里要注意的是:
1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。
2. 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。


http://jameswxx.iteye.com/blog/1041173


java -XX:+PrintFlagsInitial参数

http://blog.csdn.net/java2000_wl/article/details/8042010

一次生产环境问题的排查

参考:http://blog.lichengwu.cn/java/2015/04/06/case-of-hashmap-in-concurrency/


其它的java自带工具介绍

Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm


http://blog.csdn.net/feihong247/article/details/7874063




你可能感兴趣的:(JVM分析工具)