CPU使用过高定位

目录

一、环境准备

1.问题代码 Demo.java

2.编译运行

3.效果

二、问题定位

1.top 命令查看cpu使用率

2.ps / jps 查看对应进程信息

3.定位具体问题线程

4.jstack 查看当前进程的线程信息


一、环境准备

1.问题代码 Demo.java

import java.util.UUID;

public class Demo {
    public static void main(String[] args) {

        while (true) {
            System.out.println(UUID.randomUUID().toString());
        }
    }
}

2.编译运行

javac Demo.java


java Demo

3.效果

二、问题定位

1.top 命令查看cpu使用率

2.ps / jps 查看对应进程信息

ps -ef | grep java | grep -v grep

jps -l

3.定位具体问题线程

-- mac
sudo dtruss -ap pid

-- linux 
ps -mp pid -o THREAD, tid

4.jstack 查看当前进程的线程信息

--  jstack 进程ID | grep '小写 16进制 线程ID ' -A100 -- 打印前100条
 jstack 18476 | grep '0x00007fdf47802800' -A100

 

https://www.bilibili.com/video/BV18b411M7xz?p=113

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值