常用的java性能分析工具和命令

一 系統或jdk內置的分析命令和工具

1 top

    top

    top -H -p <pid>

    top -H -b -n 1 -p <pid>

2 jstack

    jstack <pid>

    jstack  [-l]  <pid>

3 jmap

   jmap -histo[:live] <pid>

   jmap -dump:format=b,file=xxxfile <pid>

4 jps

   jps [-v]

5 jstat

   jstat -gcutil <pid> 1s 10    

   jstat -gccause <pid> 1s 10

6 jconsole

http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html

7 jviusalvm

8 jhat

9 linux dstat命令   dstat是一個用來替換 vmstat,iostat netstat,nfsstat和ifstat這些命令的工具, 是一個全能系統信息統計工具

二業界java性能分析工具

1 eclipse mat

http://www.eclipse.org/mat/downloads.php

2 jprofiler

商業分析工具

http://www.ej-technologies.com/products/jprofiler/overview.html

3 tprofiler 

http://aone.alibaba-inc.com/aone2/aopen/productLine/11789/portal

4 knife

http://knifedoc.duapp.com/

5 btrace

三 jvm參數

1 gc日誌輸出

在 jvm啓動參數中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplicationStopedTime ,其他還有  -Xloggc:文件路徑, -verbose:gc  -XX:+PrintTenuringDistribution

2 jvm outOfMemory時dump內存

-XX:+HeapDumpOnOutOfMemoryError    

jvm FGC前後dump內存

-XX:+HeapDumpBeforeFullGC -XX:+HeapDumpAfterFullGC

4 crash日誌


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章