首页 > 其他 > 详细

一次服务器CPU占用100%的问题排查

时间:2019-10-22 22:25:05      阅读:109      评论:0      收藏:0      [点我收藏+]

今天写了一段垃圾代码,然后上服务器上运行,cpu瞬间飙到了100%,现记录一下问题排除过程~

1. 问题代码

@Component
public class TestComponent {

    @Autowired
    private UserService userService;

    @PostConstruct
    public void init() {
        new Thread(()->{
            while (true) {
                if ( userService.getUser() !=null) {
                    // do something 
                }
            }
        }).start();
    }
}

 

2. top 

技术分享图片

 

3. 查找问题

3.1  top -Hp  18571, 找出最耗cpu的线程,结果发现18584是就耗了99.9%

技术分享图片

 

3.2 将十进制的线程号转成十六进制

  printf "0x%x\n" 18584

技术分享图片

 

3.3  jstack查找问题代码

  jstack 18571| vim +/0x4898 -

 技术分享图片

 

 跑去看TestComponent.java 的第19行~~~~ 死到这里了。。。。。 

 

一次服务器CPU占用100%的问题排查

原文:https://www.cnblogs.com/z-qinfeng/p/11723045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!