更新時(shí)間:2021-10-13 13:19:28 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1343次
JDK很多小工具名字和Linux的命令比較像,jps就是其中的典型,和Linux的ps很像,功能也像。
功能介紹:列出正在運(yùn)行的虛擬機(jī)進(jìn)程,并顯示虛擬機(jī)執(zhí)行主類(Main Class,main()方法所在的類)名稱以及這些進(jìn)程的本地虛擬機(jī)唯一ID(LVMID,Local Virtual Machine Idertifier)。
命令格式:jps [options] [hostid]
命令詳解:jps還可以通過RMI協(xié)議查詢開啟了RMI服務(wù)的運(yùn)行虛擬機(jī)進(jìn)程狀態(tài),參數(shù)hostid為RMI注冊表中注冊的主機(jī)名。
options常見參數(shù):
-q:只輸出LVMID,省略主類的名稱;
-m:輸出虛擬機(jī)進(jìn)程啟動(dòng)傳遞給主類main()方法的參數(shù);
-l:輸出主類全名,如果進(jìn)程執(zhí)行的是jar包,輸出jar路徑;
-v:輸出虛擬機(jī)啟動(dòng)時(shí)的JVM參數(shù);
參數(shù)運(yùn)行示例如下圖:

監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息,可以顯示本地或者遠(yuǎn)程虛擬機(jī)進(jìn)程中的欸類加載、內(nèi)存、垃圾收集、即時(shí)編譯等運(yùn)行數(shù)據(jù).
命令格式:jstat [option vmid [interval[s|ms] [count]]];
命令解釋:其中如果是本地虛擬機(jī)則vmid和上一個(gè)命令的LVMID是同一個(gè),如果是遠(yuǎn)程,那么vimd是:[protocol:][//]lvmid[@hostname[:port]/servername]。
其中interval和count表示間隔時(shí)間和間隔次數(shù),省略表示查詢一次。
常見參數(shù):
-class:監(jiān)視類加載、卸載數(shù)量、總空間以及類轉(zhuǎn)正所耗費(fèi)的時(shí)間;
-gc:監(jiān)視Java堆狀況,包括Eden區(qū)、2個(gè)Survivor區(qū)、老年代、等容量,已用空間,垃圾收集時(shí)間;
-gccapacity:與-gc參數(shù)基本相同,但輸出主要關(guān)注Java堆各個(gè)區(qū)域使用到的最大、最小空間;
-gcutil:與-gc基本相同,輸出的是Java堆已使用空間占總空間百分比;
運(yùn)行示例如下圖:

S0、S1、E表示的是2個(gè)survivor和Eden使用比例,O、M表示老年代和元空間使用比例,CCS壓縮使用比例,YGC、YGCT分別表示Young GC的次數(shù)和時(shí)間,F(xiàn)GC、FGCT同理,GCT則表示總時(shí)間。這些參數(shù)如果知道英語名字就能很好的記住。
用于生成虛擬機(jī)當(dāng)前時(shí)刻的線程快照,線程快照就是當(dāng)前虛擬機(jī)內(nèi)每條線程正在執(zhí)行的方法堆棧集合??梢杂脕矶ㄎ痪€程長時(shí)間停頓的原因。
命令格式:jstack [option] vmid;
option參數(shù):
-F:當(dāng)正常輸出的請(qǐng)求不被響應(yīng)時(shí),強(qiáng)制輸出線程堆棧;
-l:除堆棧外,顯示關(guān)于鎖的附加線程;
-m:如果調(diào)用到本地方法棧的話,可以顯示C/C++的堆棧;
運(yùn)行示例如下圖:

jconsole
虛擬機(jī)監(jiān)控工具,可以選擇指定的進(jìn)程進(jìn)行觀察,運(yùn)行如下圖:

選擇進(jìn)去過后就可以看到監(jiān)控結(jié)果了,如下圖:

jvisualvm
是jdk自帶的可視化監(jiān)控工具,功能很強(qiáng)大,同時(shí)還可以安裝各種擴(kuò)展插件,運(yùn)行如下圖:

以上是關(guān)于“Java卸載工具:幾個(gè)JDK自帶命令與可視化工具”的介紹,如果您想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)Java開發(fā)工具,希望對(duì)大家能夠有所幫助。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)