• jvm性能监控与故障处理工具


    jdk的命令行工具:

    jps jvm process status tool,显示指定系统内所有的HotSpot虚拟机进程
    jstat jvm statistics monitoring tool,用于收集HotSpot虚拟机各方面的运行数据 
    jinfo configuration info for java,显示虚拟机配置信息 
    jmap  memory map for java,生成虚拟机的内存转储快照(heapdump文件)
    jstack  stack trace for java,显示虚拟机的线程快照
    jhat  jvm heap dump browser,用于分析heapdump文件它会建立一个http/html服务器,让用户可以在浏览器上查看结果

    jps:

    -q:只输出进程id的名称,省略主类的名称

    -m:输出进程启动时传递给main函数的参数

    -l:输出主类的全名,如果执行的是jar文件,则输出jar文件的路径

    -v:输出虚拟机进程启动时所带的jvm参数

    jstat:

    -class:用来查看类加载的统计信息

    -compiler:用来查看即时编译器编译相关信息的统计

    -gc:用来查看jvm中垃圾收集情况的统计信息,包括Eden区,2个survivor区域,老年代永久代的容量和已用空间,gc时间

    -gccapacity:用来查看新生代、老年代和永久代的存储容量

    -gccause:查看垃圾收集的统计情况,并且显示最后一次及当前正在发生的垃圾收集的原因

    -gcnew:查看新生代垃圾收集情况

    -gcnewcapacity:查看新生代存储容量情况

    -gcold:查看老年代和持久代发生的gc情况

    -gcoldcapacity:查看老年代容量

    -gcpermcapacity:查看持久代容量

    -gcutil:查看新生代、老年代和持久代的垃圾收集情况

    -printcompilation:查看通过jit编译过的方法

    jinfo:

    jps -v可以查看虚拟机启动时显式指定的参数列表,jinfo可以查看未被显式指定的虚拟机参数的系统默认值。同时jinfo还可以在运行时修改一部分jvm参数。

    jmap: 

    -heap:打印堆的概要信息,包括使用回收器的类型、堆的配置信息、各内存分代的空间使用情况

    -histo[:live]:打印每个class的实例数、内存占用、类全名等信息,假如指定live选项,则只能统计当前还存活的对象数量

    -permstat:打印每个ClassLoader和该ClassLoader所加载的class的数量

    -finalizerinfo:显示在F-Queue中等待Finalizer线程执行finalize方法的对象

    -dump:[live,]format=b,file=<filename>:生成jvm的堆转储快照,live指定是否只需要dump出活的对象,format=b表示采用二进制格式,file指定存储的文件名

    -F:当jvm进程对-dump操作没有响应时,使用该选项可以强制生成堆转储快照

    jstack:

    -F:用来在输出不被响应时强制生成线程的快照

    -m:打印出包含java和native代码的所有堆栈信息

    -l:打印关于锁的附加信息

  • 相关阅读:
    java8新特性学习:stream与lambda
    Storm实践(一):基础知识
    Google Protocol Buffer入门
    zeromq实践
    maven实践--你所需要了解的maven
    springcloud实践(一)服务发现:Eureka
    职责链模式(chain of responsibility Pattern)
    代理模式 (Proxy Pattern)
    享元模式(Flyweight Pattern)
    外观模式(Facade Pattern)
  • 原文地址:https://www.cnblogs.com/i-hard-working/p/11970231.html
Copyright © 2020-2023  润新知