java 故障排查_Java系统故障排查步骤和命令

排除其他程序占用过量系统资源的情况

[top] 检查cpu idle情况

[shift+p] 把进程按照cpu占用率从高到低排序

[shift+m] 把进程按照物理内存占用从大到小排序。

[free -g] 检查物理内存

[vmstat –n 1] 检查si/so(换入换出)情况。

[iostat –d 1] 检查磁盘I/O情况

[df] 可看到Device与目录的对应关系。

[netstat –aonp | grep tcp | wc -l] 查看各种状态的tcp连接数量和。

[netstat -natp|awk '{print $7}' |sort|uniq -c|sort -rn] 按照pid统计tcp连接的数量。

[pstack] [strace] [gdb]  系统提供的检查工具,具体怎么用?

[iotop] 查看每个进程的io情况(kernel v2.6.20以上版本支持)。

[ls -l /proc/*/fd | grep该设备映射装载到的文件系统路径] 没看懂?

[pstack] 取得进程的线程调用栈  [strace] 跟踪磁盘读写API

排除目标服务占用过量系统资源的情况

[top]

[shift+p]  按照进程cpu占用率从高到低排序

[shift+h]观察线程级别的cpu使用分布

[jstack pid > jstack.log] 获取目标服务中线程调用栈的情况(pid为16进制)。

[top][shift+m] 按照进程物理内存占用从高到低排序。

目标服务内部观察

[jstat –gcutil pid] 查看目标服务的old区占用比例。

[jmap –dump:file=dump.map pid] 取得目标服务的Java堆转储。然后可用mat工具分析dump.map文件。

[tail -10000 Server-wzcb.out | grep -B2 -A10 -i exception] 查看日志中最近记录的异常。

[jstack pid > jstack.log] 获取目标服务中“锁情况”和“各线程调用栈”信息。检查jstack.log中是否有deadlock报出。

[POSThttp://www.xinitek.com/ajax/summaryJStack< jstack.log > jstack.log.summary] 对jstack.log做合并处理,然后继续分析故障所在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值