手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-10-17 05:24:11

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跟踪异常代码
© 手抄报圈