JVM监控

作者: 言字诀 | 来源:发表于2018-03-02 16:52 被阅读0次
    命令 说明
    jps 显示JAVA进程
    jstat JAVA虚拟机运行状态监控,运行时数据
    jinfo JAVA虚拟机配置信息,如启动参数等
    jmap 生成虚拟机堆内存转储快照(dump文件)
    jhat 分析dump文件
    jstack 查看虚拟机的线程快照

    1、jmap:Java内存印象工具

    语法

    jmap [option] pid

    options参数

    • -dump:生成堆转储快照。-dump:[live, ]format=b,file=<filename>,live子参数说明是否只dump出存活的对象
    • -finalizerinfo:显示F-Queue中等待Finalizer线程执行finalize方法的对象
    • -heap:显示Java堆详细信息,如使用哪种回收器、参数配置、分代状况等
    • -histo:显示堆中对象统计信息,包括类、实例数量、合计容量
    • -permstat:显示永久代的内存状态
    • -F:当虚拟机对-dump没有响应时强制生成dump快照

    应用

    • jmap -dump:format=b,file=文件名.dump pid
      生成dump文件,用visualvm分析
    • jmap -heap pid
      打印heap的概要信息,垃圾收集器,heap的配置及使用情况,用于判断目前heap的使用以及垃圾回收的情况
    • jmap -histo pid
      打印堆的对象统计情况。jmap -histo:live pid 打印存活的对象情况,jvm会先触发GC

    2、jstat:虚拟机统计信息监视工具

    语法

    jstat [option vmid [interval[s|ms] [count]]]

    options参数

    • -class:监视类装载、卸载数量、总空间、以及类装载耗费时间
    • -gc:监视Java堆状况,Eden区、两个Survivor区、老年代、永久代容量、已用空间、gc时间合计等信息
    • -gccapacity:监视内容与-gc基本相同,主要关注Java堆各个区域使用到的最大、最小空间
    • -gcutil:监视内容与-gc基本相同,主要关注已用空间占总空间的百分比
    • -gccause:与-gcutil功能一样,会输出上一次gc发生的原因
    • -gcnew:监视新生代gc状况
    • -gcnewcapacity:与-gcnew基本相同,主要关注使用到的最大最小空间
    • -gcold:监视老年代的gc状况
    • -gcoldcapacity:与-gcold基本相同,主要关注使用到的最大最小空间
    • -gcpermcapacity:输出永久代使用到的最大最小空间
    • -compiler:输出JIT编译器编译过的方法、耗时等信息
    • -printcompilation:输出已经被JIT编译的方法

    应用

    • 每s秒查询一次进程pid的垃圾收集情况,一共查询count次
    jstat -gc [pid] [s] [count]
    

    3、jinfo:Java配置信息工具

    语法

    jinfo [option] pid

    options 参数

    • -flag:查询参数的系统默认值

    应用

    • 查询CMSSInitiatingOccupancyFraction参数值
    jinfo -flag CMSSInitiatingOccupancyFraction [pid]
    

    相关文章

      网友评论

          本文标题:JVM监控

          本文链接:https://www.haomeiwen.com/subject/ubvaxftx.html