查看 Java 进程:jps
jps -mlvV
查找进程相关线程堆栈信息:jstack
普通用法
jstack PID
jstack 27860
jstack -m PID
jstack能得到运行java程序的java stack和native stack的信息
jstack -m PID
查看系统启动参数 jinfo
jinfo -flags 27860
查看堆的情况 jmap
jmap -heap 27860
导出dump 文件
jmap -dump:live,format=b,file=D://heap2.bin 27860
jmap -dump:format=b,file=D://heap3.bin 27860
查看堆被谁占用了
jmap -histo 27860
或者配合 zprofiler 和 btrace 、eclipseMAT分析 dump 文件
查看 GC 情况
jstat -gcutil 27860
参数说明
S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)
EC、EU:Eden区容量和使用量
OC、OU:年老代容量和使用量
PC、PU:永久代容量和使用量
YGC、YGT:年轻代GC次数和GC耗时
FGC、FGCT:Full GC次数和Full GC耗时
GCT:GC总耗时
调试工具 jdb
远程调试端口是8000
jdb -attach 8000
JVM 参数配置
应用宕了,生成dump
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/logs/java.hprof
查看哪些类被加载
-XX:+TraceClassLoading