ps -ef | grep java 查看java相關進程 lsof -i tcp:8080 列出當前系統TCP端口8080的應用PID
jcmd -help 用法 jcmd <pid | main class> <command ...|PerfCounter.print|-f file> 示例 [Jcmd命令詳解](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jcmd.html "Jcmd命令詳解")
主要用來輸出JVM中運行的進程狀態信息 用法 jps [-q] [-mlvV] [<hostid>] 示例 jps
命令能夠用於持續觀察虛擬機內存中各個分區的使用率以及GC的統計數據 用法 jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] 示例
能夠用來查看堆內存的使用詳情,1.8後建議使用jcmd,減小性能損耗 用法 jmap -help 示例 jmap -heap 65356 查看指定PID 堆內存狀況 jmap -dump:live,format=b,file=/Users/zhao/Downloads/dump.prof 65356 導出Dump文件 jmap -permstat 65356 查看永久代
能夠用來查看Java進程內的線程堆棧信息,1.8後建議使用jcmd,減小性能損耗 用法 jstack -help 示例 jstack -l 65356 > /Users/zhao/Downloads/jstack.txt 列舉運行中線程信息
JVM Heap Analysis Tool 用法 jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file> 示例 jhat /Users/zhao/Downloads/dump.prof 分析Dump文件
jdb 使用 Java Debug Interface (JDI) 啓動並鏈接到 JVM. 源代碼位於 $JAVA_HOME/demo/jpda/examples.jar.
JPDA Java Platform Debugger Architecture html
jinfo pid 打印系統,應用的配置,參數,屬性信息
- server - client - Xmx 堆內存 最大值 - Xms 堆內存 初始值 - XX:PermSize 持久代 初始值 - XX:MaxPermSize 持久代 最大值 - Xmn 年輕代 - XX:NewRatio 年輕代 / 年老代 - XX:SurvivorRatio 年輕代 / 存活代 - XX:NewSize 年輕代 大小 - XX:NewMaxSize 年輕代 最大值 - XX:MaxTenuringThreshold 垃圾最大存活年齡,年齡指複製算法一次或標記等 - XX:GCTimeRatio 垃圾回收時間/程序運行時間 - XX:TargetsurvivorRatio - Xss 線程所佔堆棧大小-XX:ThreadStackSize