系统应用问题排查好用的命令
创始人
2025-05-29 09:52:07

一、问题排查思路

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

  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参数调整

待续...

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...