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

  • 相关阅读:
    hdoj 3376,2686 Matrix Again 【最小费用最大流】
    Trustie站点代码托管使用指南
    POJ 2442 Sequence(堆的使用练习)
    猛犸机器学习开发实践
    关于《金字塔原理》的主要内容
    实战案例:如何快速打造1000万+播放量的抖音网红?
    【限时特惠】网易云易盾验证码全线95折!智能无感知、滑动拼图、点选验证-7天免费体验!
    当GDPR来敲门,中国互联网企业该如何应对?
    H5活动产品设计指南基础版
    Box(视图组件)如何在多个页面不同视觉规范下的复用
  • 原文地址:https://www.cnblogs.com/S-Mustard/p/11518946.html
Copyright © 2011-2022 走看看