java线上服务故障分析笔记

1. top命令

A 根据进程分组显示

P 根据cpu使用降序显示

M 根据内存使用降序显示

2. 显示某个进程的线程

top -Hp <pid>

3. 打印某个进程下某个异常线程的状态

jstack <pid> |grep <16进制表示的线程>

========================

线上问题出现,处理步骤:

1.查看日志,是否有异常.

2.查看CPU,内存,磁盘I/O是否有异常.

如果CPU占用异常,一般是栈异常. jstack <pid> > jstack_pid.log

如果内存占用异常,一般是堆异常. jmap -dump:format=b,file=heapdump.phrof pid

如果磁盘I/O异常,看是否有大量的文件读写. iotop -oP

栈异常排查,top 找出进程,top -Hp找出线程,printf %x 转化为16进制.jstack <pid> |grep 线程 查看这个线程哪个程序块锁住了.

堆异常排查,

jmap -heap <pid> 查看新生代,老年代,元数据区大小.

jmap -histo <pid> |head -10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/lmxy1990/blog/3010148

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值