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