图解JDK命令行工具实例教程
? ? JDK附帶有很多命令行工具,下面先整一下監(jiān)視虛擬機(jī)和故障處理的命令行。
?
一 jps - 虛擬機(jī)進(jìn)程狀況工具
? ? jps不帶參數(shù),顯示虛擬機(jī)進(jìn)程ID和主類名稱或jar名稱;
? ? 進(jìn)入命令行,敲入jps;如圖;
第一次敲入時(shí),沒有java程序啟動運(yùn)行;只顯示jsp本身的ID;
然后啟動兩個(gè)java程序,一個(gè)套接字示例,2個(gè)程序,一個(gè)服務(wù)器,一個(gè)客戶端;
第二次敲jps,如圖,顯示了2個(gè)java程序的ID;
然后啟動tomcat,運(yùn)行一個(gè)JSP頁面;該頁面只是連接mysql數(shù)據(jù)庫,讀取一個(gè)表的數(shù)據(jù)并顯示;
第三次敲入jps,又顯示出了web程序的ID;
?
?
-q 參數(shù),只顯示ID;
-m參數(shù),顯示傳遞給主類main()函數(shù)的參數(shù);
-l參數(shù),輸出主類的全名或者jar包的路徑;
-v參數(shù),輸出虛擬機(jī)進(jìn)程啟動時(shí)JVM參數(shù);
?
?
二 jstat - 虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具
? ? 以下輸入的ID是一中用jps列出的。
1.
-class,統(tǒng)計(jì)classloader的行為;下例間隔200毫秒,顯示5次;
?
2464是web程序,5044是控制臺程序;由上圖可見;都是小程序;web程序載入的類要多不少;
loaded是讀入類的數(shù)量,bytes是字節(jié)數(shù);
?
2 -gc
? ? 統(tǒng)計(jì)gc行為
?
? ? S0C, S1C是S0、S1的容量,單位KB;C是容量,U是使用;后面的也;
? ? YGC-young代gc的次數(shù);YGCT,時(shí)間;FGC,full gc的次數(shù);GCT,垃圾收集的總時(shí)間。
? ? 上圖顯示的情況表明,一個(gè)小的控制臺程序跑起來,如果就放在那不動,它就沒什么垃圾收集行為;一個(gè)小的web程序跑起來,會有一定的垃圾收集行為;
?
3 -gccapacity - 統(tǒng)計(jì)堆中代的容量,空間
? ? 頭三個(gè):年輕代的最小、最大、當(dāng)前容量;其他類似;最后2個(gè)是年輕代GC次數(shù)和總GC次數(shù)
?
三 jinfo - 配置信息工具
? ? -flags,列出各種VM標(biāo)識;
?
四 jstack - 堆棧跟蹤工具
? ? 先看下2464的堆棧,輸入 jstack -l 2464 后顯示堆棧,很長;這是web程序的; 下面是其中的兩頁;
?
?
?
下面是5044的堆棧,控制臺程序的,沒那么長;下面是其中的兩頁;
?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的图解JDK命令行工具实例教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解SQL Server 存储过程教程一
- 下一篇: WCF源码分析