更新時間:2021-10-13 13:19:28 來源:動力節點 瀏覽1053次
JDK很多小工具名字和Linux的命令比較像,jps就是其中的典型,和Linux的ps很像,功能也像。
功能介紹:列出正在運行的虛擬機進程,并顯示虛擬機執行主類(Main Class,main()方法所在的類)名稱以及這些進程的本地虛擬機唯一ID(LVMID,Local Virtual Machine Idertifier)。
命令格式:jps [options] [hostid]
命令詳解:jps還可以通過RMI協議查詢開啟了RMI服務的運行虛擬機進程狀態,參數hostid為RMI注冊表中注冊的主機名。
options常見參數:
-q:只輸出LVMID,省略主類的名稱;
-m:輸出虛擬機進程啟動傳遞給主類main()方法的參數;
-l:輸出主類全名,如果進程執行的是jar包,輸出jar路徑;
-v:輸出虛擬機啟動時的JVM參數;
參數運行示例如下圖:
監視虛擬機各種運行狀態信息,可以顯示本地或者遠程虛擬機進程中的欸類加載、內存、垃圾收集、即時編譯等運行數據.
命令格式:jstat [option vmid [interval[s|ms] [count]]];
命令解釋:其中如果是本地虛擬機則vmid和上一個命令的LVMID是同一個,如果是遠程,那么vimd是:[protocol:][//]lvmid[@hostname[:port]/servername]。
其中interval和count表示間隔時間和間隔次數,省略表示查詢一次。
常見參數:
-class:監視類加載、卸載數量、總空間以及類轉正所耗費的時間;
-gc:監視Java堆狀況,包括Eden區、2個Survivor區、老年代、等容量,已用空間,垃圾收集時間;
-gccapacity:與-gc參數基本相同,但輸出主要關注Java堆各個區域使用到的最大、最小空間;
-gcutil:與-gc基本相同,輸出的是Java堆已使用空間占總空間百分比;
運行示例如下圖:
S0、S1、E表示的是2個survivor和Eden使用比例,O、M表示老年代和元空間使用比例,CCS壓縮使用比例,YGC、YGCT分別表示Young GC的次數和時間,FGC、FGCT同理,GCT則表示總時間。這些參數如果知道英語名字就能很好的記住。
用于生成虛擬機當前時刻的線程快照,線程快照就是當前虛擬機內每條線程正在執行的方法堆棧集合。可以用來定位線程長時間停頓的原因。
命令格式:jstack [option] vmid;
option參數:
-F:當正常輸出的請求不被響應時,強制輸出線程堆棧;
-l:除堆棧外,顯示關于鎖的附加線程;
-m:如果調用到本地方法棧的話,可以顯示C/C++的堆棧;
運行示例如下圖:
jconsole
虛擬機監控工具,可以選擇指定的進程進行觀察,運行如下圖:
選擇進去過后就可以看到監控結果了,如下圖:
jvisualvm
是jdk自帶的可視化監控工具,功能很強大,同時還可以安裝各種擴展插件,運行如下圖:
以上是關于“Java卸載工具:幾個JDK自帶命令與可視化工具”的介紹,如果您想了解更多相關知識,不妨來關注一下動力節點Java開發工具,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習