您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關java診斷工具有哪些呢,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
JDK 工具之 jstat 命令
-class:顯示 ClassLoad 的相關信息;
-compiler:顯示 JIT 編譯的相關信息;
-gc:顯示和 gc 相關的堆信息;
-gccapacity:顯示各個代的容量以及使用情況;
-gcmetacapacity:顯示 Metaspace 的大小;
-gcnew:顯示新生代信息;
-gcnewcapacity:顯示新生代大小和使用情況;
-gcold:顯示老年代和永久代的信息;
-gcoldcapacity :顯示老年代的大小;
-gcutil:顯示垃圾收集信息;
-gccause:顯示垃圾回收的相關信息(通 -gcutil),同時顯示最后一次或當前正在發生的垃圾回收的誘因;
-printcompilation:輸出 JIT 編譯的方法信息。
它的功能比較多,在這里我例舉一個常用功能,如何使用 jstat 查看堆內存的使用情況。我們可以用 jstat -gc pid 查看:
S0C:年輕代中 To Survivor 的容量(單位 KB);
S1C:年輕代中 From Survivor 的容量(單位 KB);
S0U:年輕代中 To Survivor 目前已使用空間(單位 KB);
S1U:年輕代中 From Survivor 目前已使用空間(單位 KB);
EC:年輕代中 Eden 的容量(單位 KB);
EU:年輕代中 Eden 目前已使用空間(單位 KB);
OC:Old 代的容量(單位 KB);
OU:Old 代目前已使用空間(單位 KB);
MC:Metaspace 的容量(單位 KB);
MU:Metaspace 目前已使用空間(單位 KB);
YGC:從應用程序啟動到采樣時年輕代中 gc 次數;
YGCT:從應用程序啟動到采樣時年輕代中 gc 所用時間 (s);
FGC:從應用程序啟動到采樣時 old 代(全 gc)gc 次數;
FGCT:從應用程序啟動到采樣時 old 代(全 gc)gc 所用時間 (s);
GCT:從應用程序啟動到采樣時 gc 用的總時間 (s)。
JDK 工具之 jstack 命令
jps命令或者top命令查看那個pid占用cpu高,再通過top -Hp pid 查看線程Id
jstack pid
命令查看當前java進程的堆棧狀態.
將該pid轉成16進制的值,在thread dump中每個線程都有一個nid,找到對應的nid即可;隔段時間再執行一次stack命令獲取thread dump,區分兩份dump是否有差別。
JDK 工具之 jmap :
命令:jmap -heap pid 描述:顯示Java堆詳細信息
命令:jmap -histo:live pid 描述:顯示堆中對象的統計信息
命令:jmap -clstats pid 描述:打印類加載器信息
命令:jmap -dump:format=b,file=heapdump.phrof pid 描述:生成堆轉儲快照dump文件。可以使用MemoryAnalyzer工具分析dump文件。
jvisualvm,JConsole
1 服務器tomcat開啟jms,修改配置文件 catalina.sh內容如下:
export JAVA_OPTS="-Xms256m -Xmx512m -Xss256m -XX:PermSize=512m -XX:MaxPermSize=1024m -Djava.rmi.server.hostname=136.64.45.24 -Dcom.sun.management.jmxremote.port=9315 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
基本包括以下基本功能:概述
、內存
、線程
、類
、VM概要
、MBean
GCViewer工具
使用jps命令查看當前有哪些java進程在運行,找到我們要查看的java程序的進程pid
使用命令jinfo pid 來查看這個進程對應的java 信息,可以看到大概在最下面的地方有個參數-Xloggc:,他對應的就是gc log的位置。
用gcviewer 打開gc log可以很直觀的查看gc log
MemoryAnalyzer工具
用來分析dump文件,主要用于分析內存泄漏等問題。
關于java診斷工具有哪些呢就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。