服务器CPU占用过高

        部署的springboot项目所在的Linux服务器CPU占用过高,排查解决的流程。

1.ps aux | grep jar

查看系统部署的项目进程信息

2.top 

top命令查看项目进程所占的cpu占存比

 3.jps -lv

通过jps -lv输出,配合上面的pid定位到出现问题的具体应用

jps
jps -l        输出主类或者jar的完全路径名
jps -v        输出jvm参数
jps -q        仅仅显示java进程号
jps -m         输出JVM启动时传递给main()的参数
jps -lv        显示jar+jvm参数,一般部署多个服务就要用这个,边看服务名边看对应jvm参数
jps -mlv     即m+l+v的都输出来

3.top -p pid

执行top -p pid 单独监控该进程 

4.监控界面输入H

        通过输入H,获取当前进程下所有的线程信息,找到CPU消耗特别高的线程编号。由于Java是多线程程序,如果我们只知道进程id还不足以找到出现问题的线程。因此这里需要借助top命令的H交互模式,找到真正CPU占用过高的线程。

5. jstack输出线程信息

        jstack 进程pid >> stack.txt

6.将pid换算成16进制

        printf "%x\n" pid

7.打开刚刚生成的stack日志文件

该日志文件一般在执行该行命令时所在的文件层级下,Crtl+f查找关键字 11679

8.显示出内存占用前10的进程信息

ps -eo pid,cmd,%mem,%cpu --sort=-%mem | head

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值