JVM自帶了很多命令工具可以用於在生產環境中監控和查看虛擬機的運行情況,比如堆棧使用情況信息、GC信息、啓動參數等;也可以動態修改運行參數以優化虛擬機性能。以下常用命令工具及相關縮寫介紹。
- jhat:JVM Heap Analysis Tool, 常與jmap搭配使用,用於分析jmap生成的dump格式的文件
- jps:JVM Process Status Tool,用於查看虛擬機啓動相關信息,比如啓動參數等
- jstat:JVM statistics Monitoring, 用於監視虛擬機運行時狀態信息的命令,如類裝載、內存、gc情況、JIT編譯等運行數據
- jmap:JVM Memory Map,用於查看堆使用情況,生成heap dump文件,以進行堆內存分析
- jinfo:JVM Configuration info,用於實時查看和調整虛擬機運行參數
- jstack: JVM stack,用於生成java虛擬機當前時刻的線程快照,以進行死鎖分析等
- jvisual:作用同jhat類似,常與jmap搭配使用,用於分析jmap生成的dump格式的文件
關於以上命令的詳細使用情況,請查參考博客,並強烈建議自行實操。在實操過程中,很可能會報“well-known file is not secure”這樣的異常,此時請查看參考博客5。
參考博客:
1、https://www.cnblogs.com/ityouknow/p/5714703.html jvm系列(四):jvm調優-命令大全(jps jstat jmap jhat jstack jinfo)
2、https://www.cnblogs.com/michael-xiang/p/10779566.html java問題定位工具jps
3、https://www.jianshu.com/p/bfb869e01fff jps命令:查看Java進程等詳細信息
4、http://www.hollischuang.com/archives/110 Jstack
5、http://www.itboth.com/d/jAFrQb/file 如何解決使用jstack時提示well-known file is not secure