Windows如何使用jstack跟踪异常代码

 时间:2026-02-14 15:27:57

1、先写一段代码来模拟一个耗CPU的线程

代码:

package chapter1;

public class FindJavaThreadInTaskManager {    

    public static void main(String[] args) {        

        Thread thread = new Thread(new Worker());        

        thread.start();    

    }    

    static class Worker implements Runnable {        

        @Override        

        public void run() {            

            while (true) {                

                System.out.println("Thread Name:" + Thread.currentThread().getName());           

                }       

             }    

        }

    }

Windows如何使用jstack跟踪异常代码

2、执行上述代码,

模拟一个CPU和IO利用率都高线程

Windows如何使用jstack跟踪异常代码

3、打开任务管理,

此例中,CPU利用率比较高java进程ID为7064

Windows如何使用jstack跟踪异常代码

4、使用ProcessExplorer找到ID号为7064的进程

Windows如何使用jstack跟踪异常代码

5、使用ProcessExplorer查看进程ID为7064的属性信息

在Thread标签找到CPU利用率的线程信息,TID为6120(10进制)

Windows如何使用jstack跟踪异常代码

Windows如何使用jstack跟踪异常代码

6、将CPU利用率高的线程ID 6120(10进制)

转换为0x17E8(16进制)

Windows如何使用jstack跟踪异常代码

Windows如何使用jstack跟踪异常代码

7、使用jstack查看进程7064的线程信息。

找到线程号为0x17E8的线程

命令:

jstack -l  7064

Windows如何使用jstack跟踪异常代码

8、查看第13行的代码信息,与实际情况相符。

至此,找到引发CPU利用率高的代码

Windows如何使用jstack跟踪异常代码

  • 如何设置易语言窗口对齐到网点
  • NavicatPremium中如何还原数据
  • 如何使用DbVisualizer在数据库连接下搜索表对象
  • linux环境安装oracle
  • jquery如何获取checkbox的选中个数
  • 热门搜索
    时尚旅游 绵山旅游攻略 梧州旅游 上海奉贤海湾旅游区 日本福冈旅游 凤县旅游 酒泉旅游 旅游法全文 吉隆坡旅游 重庆旅游网