产线问题排查

CPU过高

使用top命令查看占用CPU过高的进程。
导出CPU占用高进程的线程栈。

jstack pid >> java.txt

Java 内存过高的问题排查

1.分析OOM异常的原因,堆溢出?栈溢出?本地内存溢出?

2.如果是堆溢出,导出堆dump,并对堆内存使用有个整体了解;

3.找到最有可能导致内存泄露的元凶,通常也就是消耗内存最多的对象;

4.使用辅助工具对dump文件进行分析;

通过jmap dump内存快照。如果是线上环境,注意dump之前必须先将流量切走,否则大内存dump是直接卡死服务。

jmap -histo | head -20

就可以查看某个pid的java服务占用内存排名前20的类

Full GC的排查

jstat -gc 4383 5000

即每5秒一次显示进程号为4383的java进程的GC情况, -XX:+PrintGCDetails 用来打印详细的GC信息。

线程阻塞

用jstack命令打出这个进程的全部线程堆栈。拿到线程dump文件之后,搜索自己的worker名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值