系统相关
首页 > 系统相关> > Linux/win环境下 Cpu占用率高模拟及跟踪检查

Linux/win环境下 Cpu占用率高模拟及跟踪检查

作者:互联网

模拟占用cpu代码

public class TestCpuHold {
    public static void main(String[] args) {
        while (true){
            System.out.println("do something");
        }
    }
}

windows环境下的处理

找到占用cpu相对高的进程

任务管理器找到cpu占用高的java进程,右键转到详细信息。
在这里插入图片描述在这里插入图片描述pid为13692的进程。

查找进程下占用资源高的线程

在这里插入图片描述

将进程下的堆栈信息dump出来

jstack -l 13692 > E:\workspaceChen\jstack13692.log

查找对应的线程信息,跟踪查看处理

linux环境下的处理

找到占用cpu相对高的进程

[root@localhost test]# top

查找进程下占用资源高的线程

[root@localhost test]# ps -mp 4305 -o THREAD,tid,time

发现cpu占用高的线程,TID为4306。
在这里插入图片描述

[root@localhost test]# printf "%x\n" 4306

在这里插入图片描述

将进程下的堆栈信息dump出来

[root@localhost usr]# jstack -l 4305 | grep 10d2 -A 50

在这里插入图片描述

[root@localhost test]# jstack -l 4305 > jstack.log

在该目录下获取到相关的文件。

查找对应的线程信息,跟踪查看处理

标签:dump,win,占用,查找,线程,Linux,进程,占用率,cpu
来源: https://blog.csdn.net/qq_34453866/article/details/120683564