JVM故障处理工具

虚拟机故障处理工具

jps:虚拟机进程状况工具

  • 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称以及这些进程的本地虚拟机唯一ID(LVMID)。

  • 对于本地虚拟机进程来说,LVMID与操作系统的进程ID是一致的。

  • 参数

    选项 作用
    -q 只输出LVMID,省略主类的名称
    -m 输出虚拟机进程启动时,传递给主类main()函数的参数
    -l 输出主类的全类名,如果进程执行的是Jar包,则输出Jar的路径
    -v 输出虚拟机进程启动时的JVM参数

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

  • 用于监视虚拟机各种运行状态信息的工具。

  • 可以显示本地或远程虚拟机进程中的类加载、内存、垃圾回收、即时编译等运行时数据

  • 参数

    选项 作用
    -class 监视类加载,卸载数量,总空间以及类装载所耗费的时间
    -gc 监视java堆状况,包括Eden区,2个survivor区,老年代,永久代等的容量,已用空间,垃圾收集时间合计等信息
    -gcnew 监视新生代垃圾收集情况
    -gcold 监视老年代垃圾收集情况

jinfo:Java配置信息工具

  • 实时查看和调整虚拟机各项参数
  • 可以使用-flag name=value在运行期修改一部分运行期可写的虚拟机参数值

jmap:Java内存映像工具

  • 用于生成堆转储快照

  • 还可以查询finalize执行队列,Java堆和方法区的详细信息。如空间使用率,当前使用的哪种收集器

  • 参数

    选项 作用
    -dump 生成Java堆转储快照,格式为-dump:[live,]format=b,file=<filename>,其中live子参数说明是否只dump出存活的对象
    -finalizerinfo 显示在F-Queue中等待Finalizer线程执行finalizer方法的对象
    -heap 显示java堆详细信息,如使用的回收器,参数配置,分代状况等
    -F 当使用-dump没有响应时,可以使用该选项强制生成-dump快照

jhat:虚拟机堆转储快照分析工具

  • 与jmap搭配使用,来分析jmap生成的堆转储快照
  • 内置了HTTP/Web服务器,能够在浏览器中查看分析结果

jstack:Java堆栈跟踪工具

  • 用于生成虚拟机当前时刻的线程快照

  • 可以用来定位线程出现长时间停顿的原因,如线程间死锁,死循环,请求外部资源导致的长时间挂起

  • 参数

    选项 作用
    -F 当正常输出的请求不被响应时,强制输出线程堆栈
    -l 除堆栈外,显示关于锁的附加信息
    -m 如果调用到本地方法的话,可以显示C/C++的堆栈

JVM故障处理工具

上一篇:链式前向星存图


下一篇:Anaconda安装