zoukankan      html  css  js  c++  java
  • java_jvm工具

    1  jvm工具有哪些?

    在jdk的bin目录下,可见的都是jvm的工具。

     2 每个工具是干什么的?

    用于处理OOM或者fullgc时分析原因的工具

    定位线程长时间未反应的原因。

    可以在lib目下的tools.jar包中可以看到具体的工具是怎么实现的。可以将jar包拖到jd-gui.exe反编译工具中进行源码查看。

    3 jps工具

    jps,简言之java的ps命令,跟Linux的ps的命令很相似,java虚拟机的进程查看工具,可以列出正在运行的虚拟机进程,并显示执行的主类(main所在的类)和进程id。

    • jsp -l

            展示pid和执行的主类

    •  jps -m

    输出传入 main 方法的参数。

    • jps -v

    展示jvm启动参数

     4  jstat工具

    • jstat -gc pid 毫秒数m 行数n

    每隔m毫秒数打印一行,一共打印n行

    s0c:第一个幸存区的总大小;s0u:第一个幸存区的已使用大小。

    s1c:第二个幸存区的总大小;s1u:第二个幸存区的已使用大小

    Ec:伊甸园区的总大小;Eu:伊甸园区已使用的大小

    oc:老年代总大小 ;ou:老年代已使用的大小

    Mc:方法区的总大小 ;Mu:方法区的总大小

    ccsc:压缩类空间文件的总大小;ccsu:压缩类空间文件的已使用大小

    ygc:年轻代垃圾回收的次数;ygct:年轻代垃圾回收消耗的时间

    fgc:老年代垃圾回收的次数;fgct:老年代垃圾回收消耗的时间

    gct:垃圾回收消耗的总时间。

     5 jinfo工具

    实时地调整和查看虚拟机的各项参数

    • jinfo pid

    6 jmap工具

    用于生成堆转储快照,用于系统复盘。

    • jmap -heap pid

    展示堆信息

    •  jmap -histo pid
    • 或者分页查看  jmap -histo pid|more

    查看类的实例,instances显示实例的个数,byte为大小

    •  jmap -dump:format=b,file=d:/test.bin pid

    生成堆存储快照。

    •  展示堆栈溢出的测试类,当运行中堆栈溢出时自动生成转储快照。
    public class OOMTest {
        public static void main(String[] args){
            String a="测试数据";
            // 生成100000000个"测试数据"
            for(int i=0;i<100000000;i++){
                a+=a;
            }
        }
    }

    编辑jvm启动参数    -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/

     

           运行,程序即可看到程序报错,并且在d盘下可以看到转储快照。

     7 jhat工具

    用于分析jmap生成的堆转储快照信息。可以通过浏览器查看分析结果。

    • jhat 快照地址

     通过浏览器访问结果

     

     

     8 jstack 工具

    生成当前线程的快照。线程快照是当前虚拟机内一条线程正在执行的方法堆栈的集合。

    jstack -l pid

  • 相关阅读:
    找最大质因子问题
    ACM基础训练题解4302 丢失的牛
    ACM基础训练题解4301 城市地平线
    hnu 7/19 A Broken Audio Signal
    hnu7/20比赛 BUG 题解
    http://acm.hnu.cn/online/?action=problem&type=show&id=12817&courseid=267 7.19hnu/数据结构/数学 xxs.code
    SGU 解题报告
    2015 Multi-University Training Contest 1 题解&&总结
    HDU 5351 MZL's Border (规律,大数)
    SGU 239.Minesweeper
  • 原文地址:https://www.cnblogs.com/S-Mustard/p/11518946.html
Copyright © 2011-2022 走看看