JVM基础故障处理工具总结

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JVM基础故障处理工具总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

JVM基础故障处理工具

1. jps:虚拟机进程状况工具

jps 工具的功能是列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称以及这些进程的本地虚拟机唯一 ID。

jps 命令格式如下:

$jps [option] [hostid]

JVM基础故障处理工具总结

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

jstat 是用于监视虚拟机各种运行状态的命令行工具,可以显示虚拟机进程中类加载、内存、垃圾收集、即时编译等运行时数据。

jstat 命令格式如下:

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

参数intervalcount代表查询间隔和次数,如果忽略这两个参数说明只查询一次。

选项option代表用户希望查询的虚拟机信息,主要分为三类:类加载、垃圾收集、运行期编译状况。

JVM基础故障处理工具总结

下面给出一个例子:

JVM基础故障处理工具总结

查询结果表明

  • 新生代 Eden 区使用了 6.2% 的空间
  • 两个 Survivor 区都是空的
  • 老年代 O 使用了 41.42% 的空间
  • 永久代 P 使用了 47.20% 的空间
  • 程序运行以来发生 Young GC 16 次,共耗时 0.105s
  • 发生 Full GC 3 次,共耗时 0.472s
  • 所有 GC 总耗时 0.577s

3. jinfo:Java配置信息工具

jinfo 的作用是实时查看和调整虚拟机各项参数。

jinfo 命令格式如下:

$jinfo [option] pid

下面是一个执行样例:

JVM基础故障处理工具总结

4. jmap:Java内存映像工具

jmap 命令用于生成堆转储快照。还可以查询 finalize 执行队列、Java 堆和方法区的详细信息,如空间使用率,当前使用的收集器版本等等

另外,通过虚拟机的XX: +HeapDumpOnOutOfMemoryError参数,可以让虚拟机在内存溢出之后自动生成堆转储快照。

jmap 命令格式如下:

$jmap [option] vmid

JVM基础故障处理工具总结

下面是一个使用样例:

JVM基础故障处理工具总结

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

jhat 与 jmap 工具搭配使用,用于分析 jmap 产生的堆转储快照。。

jhat 内置了一个微型地 HTTP 服务器,可以在浏览器中查看堆转储快照的分析结果。

但由于性能较差、功能较为简陋,往往使用 VisualVM 代替这个工具。

6. jstack:Java堆栈跟踪工具

jstack 引用书工程虚拟机当前的线程快照。线程快照是虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的目的通常是定位线程出现长时间停顿的原因,如死锁、死循环等。

jstack 命令格式如下:

$jstack [option] vmid

JVM基础故障处理工具总结

下面是一个使用样例:

JVM基础故障处理工具总结

JDK5 开始Thread类新增了一个getAllStackTraces()方法,可以获取虚拟机中所有线程的StackTraceElement对象,可以通过简单的几行代码完成 jstack 的大部分功能。

脚本宝典总结

以上是脚本宝典为你收集整理的JVM基础故障处理工具总结全部内容,希望文章能够帮你解决JVM基础故障处理工具总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。