java线上问题定位
获取pid
ps-ef|grep java
pid下的线程资源占用情况
top -Hp pid
将资源占用高这几个pid转为16进制
下载当前的java线程栈
查询16进制pid线程情况
java线程栈
jstack -l pid>/1.txt
导出堆快照
jmap -dump:live,format=b,file=./heap.hprof pid
查看资源占用最大前30对象
jmap -histo pid | head -30
分析
通过MAT或者Jprofile或者jdk自带工具分析堆文件,寻找无法被回收的对象
jstat -gcutil查看堆的信息
jstat -gcutil pid 500 10
S0:幸存1区当前使用比例
S1:幸存2区当前使用比例
E:伊甸园区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间