更新時間:2021-10-13 13:19:28 來源:動力節(jié)點(diǎn) 瀏覽1140次
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)程啟動傳遞給主類main()方法的參數(shù);
-l:輸出主類全名,如果進(jìn)程執(zhí)行的是jar包,輸出jar路徑;
-v:輸出虛擬機(jī)啟動時的JVM參數(shù);
參數(shù)運(yùn)行示例如下圖:
監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息,可以顯示本地或者遠(yuǎn)程虛擬機(jī)進(jìn)程中的欸類加載、內(nèi)存、垃圾收集、即時編譯等運(yùn)行數(shù)據(jù).
命令格式:jstat [option vmid [interval[s|ms] [count]]];
命令解釋:其中如果是本地虛擬機(jī)則vmid和上一個命令的LVMID是同一個,如果是遠(yuǎn)程,那么vimd是:[protocol:][//]lvmid[@hostname[:port]/servername]。
其中interval和count表示間隔時間和間隔次數(shù),省略表示查詢一次。
常見參數(shù):
-class:監(jiān)視類加載、卸載數(shù)量、總空間以及類轉(zhuǎn)正所耗費(fèi)的時間;
-gc:監(jiān)視Java堆狀況,包括Eden區(qū)、2個Survivor區(qū)、老年代、等容量,已用空間,垃圾收集時間;
-gccapacity:與-gc參數(shù)基本相同,但輸出主要關(guān)注Java堆各個區(qū)域使用到的最大、最小空間;
-gcutil:與-gc基本相同,輸出的是Java堆已使用空間占總空間百分比;
運(yùn)行示例如下圖:
S0、S1、E表示的是2個survivor和Eden使用比例,O、M表示老年代和元空間使用比例,CCS壓縮使用比例,YGC、YGCT分別表示Young GC的次數(shù)和時間,F(xiàn)GC、FGCT同理,GCT則表示總時間。這些參數(shù)如果知道英語名字就能很好的記住。
用于生成虛擬機(jī)當(dāng)前時刻的線程快照,線程快照就是當(dāng)前虛擬機(jī)內(nèi)每條線程正在執(zhí)行的方法堆棧集合。可以用來定位線程長時間停頓的原因。
命令格式:jstack [option] vmid;
option參數(shù):
-F:當(dāng)正常輸出的請求不被響應(yīng)時,強(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)大,同時還可以安裝各種擴(kuò)展插件,運(yùn)行如下圖:
以上是關(guān)于“Java卸載工具:幾個JDK自帶命令與可視化工具”的介紹,如果您想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)Java開發(fā)工具,希望對大家能夠有所幫助。
初級 202925
初級 203221
初級 202629
初級 203743