多乐新闻-让你每一天充满快乐 多乐新闻-让你每一天充满快乐

spend,睡不着怎么办,手擀面的做法-多乐新闻-让你每一天充满快乐

本文根据HotSpot虚拟机,JDK版别1.8.0_171,windows体系

目录

一、jps:虚拟机进程状况东西

二、jstat:虚拟机计算信息监督东西

三、jmap:Java内存映像东西

四、jhat:虚拟机堆转储快照剖析东西

五、jstack:Java仓库盯梢东西

六、jinfo:Java装备信息东西

java和javac这两个指令行东西咱们应该都很了解,可是除了这两个东西jdk/bin里边还供给了许多东西给咱们运用,今日就简略介绍有关虚拟机监控且助于毛病排查的东西。

实践上这些东西大多数便是jdk/lib/tool.jar的封装,内部便是调用tool里边的内容,所以东西体积都不大,并且在linux版别的jdk中有些东西便是用shell写的。

1.jps(JVM Process Status Tool)

用于显现指定体系内一切HotSpot虚拟机进程,并且能显现虚拟机履行主类以及本地虚拟机仅有ID(LVMID,Local Virtual Machine Identifier)功用单一,可是其他由于其他东西都需求指明LVMID(来确定要监控的虚拟机进程,所以都需求用到它。关于本地的虚拟机进程来说LVMID和操作体系的进程ID共同。

运用格局:jps [options] [hostid]

样例:

jps能够经过RMI协议查询长途敞开RMI服务的虚拟机进程,hostid为RMI注册表中注册的主机名。

2.jstat(JVM Statistics Monitoring Tool)

用于监督虚拟机各种运转状况信息的东西,能够显现本地或许长途的虚拟机进程类装载、内存、GC、JIT等运转数据,在没有GUI图画界面的服务器上,首要便是用它在运转期定位功能问题。

运用格局 :jstat [option vmid [interval [s|ms] [count]] ]

interval表明查询的距离, s|ms是秒和毫秒(默许是毫秒,即不写单位是毫秒),count表明查询的次数。

样例:表明每5秒钟检查一次LVMID为34216的虚拟机进程的GC状况,总共查询10次

3.jmap (Memory Map for Java)

用于生成堆转储快照(heapdump或dump文件),说白了便是把java堆运用状况快照一份导出来供咱们检查,用来排查问题。

运用格局 :jmap [option] vmid

样例

4.jhat (JVM Heap Analysis Tool)

这个便是和jmap调配运用的,jmap导出来的堆快照文件用jhat 翻开剖析

运用格局: jhat [-stack ] [-refs ] [-port ] [-baseline ] [-debug ] [-version] [-h|-help]

样例:

检查剖析成果

5.jstack (Stack Trace for Java)

用于生成虚拟机当时时间线程快照(threaddump或javacore)。首要用来定位线程呈现长期中止的原因,判别死锁啊,死循环的等。经过jstack就可知各线程的调用仓库状况。

运用格局:jstack [option] vmid

样例:

6.jinfo (Configuration Info for Java)

用来检查和调整虚拟机各项参数

运用格局:jinfo [option] pid

能够经过-flag[+|-] name 增加和删去一些参数,或许-flag name =value修正一些参数,可是许多参数是不允许修正的

样例:

结语

本文首要是简略介绍常见的几个JDK指令行东西,主张运用的时分自己经过指令 -option 检查每个选项实践的意思再运用,究竟这么选项一般也记不住。

并且这些东西有一些算比较粗陋了例如jhat ,这玩意剖析的粗陋,界面也粗陋不行强大和专业。所以这些个指令行东西以了解和大约了解其效果为主。

像素日里一般用于剖析都用JConsole、VisualVM(All-in-One Java Troubleshooting Tool)这种可视化东西来剖析毛病监控功能等,有些在IDE里边的也有用MAT等东西剖析。

本文参阅《深化了解JAVA虚拟机》第四章


如有过错欢迎纠正!

个人大众号:yes的练级攻略

有相关面试进阶(分布式、功能调优、经典书本pdf)材料等候收取

作者:admin 分类:趣闻中心 浏览:132 评论:0