jdk的安裝目錄bin下面有關于jvm的許多工具,如jps,jstat,jstack,jcmd等等,我們可以靈活的運用它們來管理jvm。
jps
jps主要是用來查找java進程。主要有3個參數: -l 輸出應用程序主類完整package名稱或jar完整名稱? -v 列出啟動程序指定的jvm參數? -m 輸出主函數傳入的參數 。某些場景下可以替換 ps -ef |grep java命令。
jstat
jstat是jvm的實時監控的工具。包括類加載信息,及時編譯,gc等等。jstat提供如下可選的參數:
其中最主要的是-gc和-gcutil兩個參數。
-gc:列出jvm內存堆和gc的信息,其中C代表容量單位kb,S代表幸存區 U代表已使用 O代表老年代
-gcutil:列出jvm的統計信息,相對-gc結果更清晰,使用率用百分比來顯示
jstack
jstack pid會打印java進程中線程的軌跡,包括線程id,線程棧,狀態等等