码迷,mamicode.com
首页 > 编程语言 > 详细

高手怎么查找CPU过高的Java代码。具体到行

时间:2020-09-07 18:47:25      阅读:40      评论:0      收藏:0      [点我收藏+]

标签:用例   current   sharp   mic   一个   inf   获取   top   sys   

1.首先写一个测试用例;

public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World!");
        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());

            }

        }

    }
}

2.然后打包成jar包,打包过程省略。。

java -jar 项目名

 3.利用top命令找到pid  

技术图片

4.  找到上述进程中,CPU利用率比较高的线程号TID(十进制数),此处为3046

ps p 3036 -L -o pcpu,pid,tid,time,tname,cmd

5.  将获取的线程号(十进制数)转换成十六进制,此处为0xb46

printf "%x\n"  3046

6.查看进程PID为3036中  nid为0xb46的线程信息

jstack -l 3036|more

技术图片

高手怎么查找CPU过高的Java代码。具体到行

标签:用例   current   sharp   mic   一个   inf   获取   top   sys   

原文地址:https://www.cnblogs.com/hhwww/p/13572975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!