zoukankan      html  css  js  c++  java
  • 高手怎么查找CPU过高的Java代码。具体到行

    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
    "  3046

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

    jstack -l 3036|more

  • 相关阅读:
    001-进程与线程
    mysql优化(11)
    mysql优化(十)
    mysql优化(九)
    mysql优化(八)
    mysql优化(七)
    mysql优化(六)
    mysql优化(五)
    mysql优化(四)
    mysql优化(二)
  • 原文地址:https://www.cnblogs.com/hhwww/p/13572975.html
Copyright © 2011-2022 走看看