• jvm系列六、windows用jdk自带工具jps、jstack找出性能最差的代码


    一、运行程序TestGC


    二、用jps找出当前应用的进程号PID
     到jdk安装目录的bin目录下输入: jps -l

    PID为1264

    三、启动Process Explorer(下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer)
    1.找到PID为1264的进程,右键properties
    2.看到该进程的所有线程的性能排序
    3.找到名字为javaw.exe(eclipse启动)的两个线程,线程TID:10440,10308,其他为jvm线程可能是GC线程

    四、jtack工具收集该进程日志
    1.命令输入:jstack 1264 >1264.out

    2.bin目录发现,已经保存该日志文件了

    3.打开1264.out看到线程运行情况,线程ID是十六进制的

    4.把上面找到排名靠前的TID:10440,10308,转成16进制为:

    5.在日志中搜索该TID,找到对应代码


    大功告成!

    测试类如下:

    package main.sort;
    
    import java.util.ArrayList;
    
    import javax.print.attribute.standard.MediaName;
    
    public class TestGC {
        
        public static void main(String[] args) {
            byte[] array=new byte[1024*64];
            ArrayList<byte[]> list=new ArrayList<byte[]>();
            new Thread(new MyThread()).start();
            
            while(true){
                list.add(array);
                try {
                    Thread.sleep(200);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            
        }
        
    
    }
    package main.sort;
    
    public class MyThread implements Runnable{
    
        @Override
        public void run() {
            // TODO Auto-generated method stub
            testStack();
        }
        
        public void testStack(){
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            testStack();
        }
    }



  • 相关阅读:
    Python之从头开始建立项目流程
    Python之建立APP流程以及SVN 的使用
    python之继承
    Python之实例对象的增删改查
    Python之类属性的增删改查
    read big file
    python minus 3 days or n days
    movie
    pyqt convert ui file to py file
    pyqt4 borderless window
  • 原文地址:https://www.cnblogs.com/wangzhuxing/p/8583567.html
Copyright © 2020-2023  润新知