- jps
- 查看java進程
- jps -q只顯示進程號,不顯示短名稱
- jps -m顯示傳遞給進程的參數
- jps -l顯示主函數的完整路徑
- jps -v顯示傳遞給虛擬機的參數
- jstat
- 用於觀察java應用程序運行時相關信息的工具,功能非常強大
- jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
- jinfo
- 查看正在運行的java應用程序的擴展參數,甚至支持在運行時修改部分參數
- jinfo <option> <pid>
- jmap
- 導出堆到文件
- jmap -histo 2128 > info.log 生成進程2128的java程序的對象統計信息,並輸出到info.log文件;
- jmap -dump:format=b,file=heap.dump 2128 將2128java進程的堆快照導出指定文件中,後期可以用分析工具(例如jhat,visual VM,MAT等)分析該快照文件;
- jmap -permstat 2128 查看2128java進程的classLoader
- jmap -finalizerinfo 2128查看2128java進程的finalizer隊列;
- jhat
- jdk自帶的堆分析工具
- jhat heap.dump將分析heap.dump堆信息文件,並啓動http服務,可以通過輸出的地址和端口查看堆信息文件中的信息。
- 支持OQL語言,方便查詢堆信息中的指定內容
- jstack
- jstack [-l] <pid> -l用於打印鎖的附加信息
- 不僅可以得到線程堆棧,還能幫助發現死鎖現象及死鎖發生的線程及死鎖相關的對象,幫助解決死鎖問題。
- jstatd
- jstatd用於協助jps,jstat等工具監控遠程機器上的java進程
- 需要在被監控的機器上啓動jstatd,然後可以通過jps IP:port監控指定IP的java進程信息,其中port爲jstatd默認的1099
- jcmd
- jcmd是1.7之後新增的一個多功能合一的工具,可以用來查看java進程,導出堆,導出棧信息,執行GC命令等等
- jcmd -l列出系統中的虛擬機;
- jcmd 2128 help,獲取2128虛擬機所支持的命令
- jcmd 2128 VM.uptime如果2128支持VM.uptime命令,可以通過這個命令查看運行時間;
- hprof
- 它是一個java agent工具,用於監控java應用程序運行時的cpu信息和堆信息。
- jconsole
- visual VM
- jdk自帶的,支持插件,支持遠程,所以可以替代上述幾乎所有的工具
- BTrace
- 是visual VM的一個插件工具。
- JRockit Mission Control虛擬機診斷工具
- jdk1.7 u40之後發佈的工具,但openjdk並沒有包含。
java監控工具備忘
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.