系统应用问题排查好用的命令
创始人
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参数调整

待续...

相关内容

热门资讯

cad打印线条粗细设置 cad... 004-线型(下)打印样式设置和线型文件使用一、线宽设置方法制图规范里边的线宽要求,我们已经定义好,...
荼蘼什么意思 岁月缱绻葳蕤生香... 感谢作者【辰夕】的原创独家授权分享编辑整理:【多肉植物百科】百科君坐标:云南 曲靖春而至,季节流转,...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...