前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CPU 飙升排查

CPU 飙升排查

作者头像
AlphaHinex
发布2024-04-08 12:46:46
820
发布2024-04-08 12:46:46
举报
文章被收录于专栏:周拱壹卒周拱壹卒

CPU飙升

线上资源cpu飙升是我们工作中常见的问题,一篇文章搞定排查方法

一、问题复现

现在我有两个接口,代码如下

代码语言:javascript
复制
@RestController
public class CPUCheck {
  @RequestMapping("/hello")
  public String helloWorld(){
      return "hello World";
  }

  @RequestMapping("/run")
  public void run(){
      while (true){

      }
  }
}

代码很简单 接口1“/hello” 返回“hello World”,接口2“/run” 进入死循环,这样就保证了访问接口2cpu升高。

二、测试

我们将项目打包部署在服务器上,并启动

测试接口

代码语言:javascript
复制
curl http://localhost:9901/thing-test/hello

pid

三、排查

通过top命令可以查看到有一个java进程占用cpu资源异常

获取pid为32306

通过命令查询tid

代码语言:javascript
复制
命令:ps -mp 【pid】 -o THREAD,tid,time
实例:ps -mp 32306 -o THREAD,tid,time

tid

可以看到引起cpu异常的tid是32327

因为现在的tid32327是十进制的,需要将其转化为十六进制

代码语言:javascript
复制
命令:printf "%x\n" 【十进制tid】
实例:printf "%x\n" 32327

nid

根据pid 和 tid查询导致cpu飙升的代码

代码语言:javascript
复制
命令:jstack 【10进制pid】 | grep 【16进制tid】 -A 20
实例:jstack 32306 | grep 7e47 -A 20

jstack

src

end....

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-23,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 周拱壹卒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CPU飙升
    • 一、问题复现
      • 二、测试
        • 三、排查
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
        http://www.vxiaotou.com