系统应用问题排查好用的命令

一、问题排查思路

系统页面出现卡顿、无响应,大致问题排查思路

  1. 首先检查网络问题。通过常用的ping或telnet命令进行检查

  1. 检查系统日志:前台通过F12进入调试,后台检查应用日志

  1. 检查系统应用资源使用情况,包括CPU、内存、IO、磁盘等

二、CPU过高排查步骤

本文将重点记录一次CPU飙高问题的追踪

  1. 查找进程PID:通过top命令可以查看到资源占用情况,并发现CPU飙高,在top命令下,按1会直接进入到多核CPU详情占用情况显示,如下所示

top
  1. CPU占用高的线程TID:通过以上top命令可定位是否是JAVA应用引用的CPU占用高的问题(本图为16C)。如果确认是JAVA应用导致,我们最终需要找到是程序中哪些调用逻辑引起的,那我们接着需要继续跟踪是哪个线程引用起的,可用 以下命令找到应用线程信息,并找到占用CPU过高的线程ID

top -Hp PID

  1. 把TID转成十六进制:通过jstack命令查看时需要用到线程号的十六进制信息,所以我们需要用以下命令将线程ID转成十六进制

printf "%x\n" tid

  1. 查看线程堆栈信息

jstack pid|grep tid -A 30

根据以上信息可以具体分析程序逻辑所引用的CPU占用过高

三、jvm常用排查命令

查看当前运行的JAVA进程:jps -l
查看当前JVM配置信息:jinfo -flags pid 
查看堆内存的设置及使用情况:jmap -heap pid
查看堆内存的存活的类信息,包括类名、对象数量、对象占用大小:jmap -histo :live pid 
查看类加载的数量和空间占用:jstat -class pid
  • jps -l

  • jinfo -flags 26462

  • jmap -heap 26462

  • jstat -class 26462

  • jstat -gc 26462 2s 5

四、JVM参数调整

待续...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值