内容简介:一、jps:虚拟机进程状况工具 二、jstat:虚拟机统计信息监视工具 三、jmap:Java内存映像工具 四、jhat:虚拟机堆转储快照分析工具 五、jstack:Java堆栈跟踪工具 六、jinfo:Java配置信息工具java和javac这两个命令行工具我们应该都很熟悉,但是除了这两个工具jdk/bin里面还提供了很多工具给我们使用,今天就简单介绍有关虚拟机监控且助于故障排查的工具。实际上这些工具大多数就是jdk/lib/tool.jar的封装,内部就是调用tool里面的内容,所以工具体积都不大,而且
一、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 <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file>
样例:
查看分析结果
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)资料等待领取
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- laravel自带用户认证
- Mac自带apache配置
- opencv自带例子学习-图像混合
- Golang中自带的强大命令工具
- Android调用系统自带的分享功能
- 使用oracle自带的命令进行导入导出
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
A=B
Marko Petkovsek、Herbert S. Wilf、Doron Zeilberger / AK Peters, Ltd. / 1996-01 / USD 49.00
At some point, this book describes methods of solving the problem raised by Donald E. Knuth in the classical book "The Art of Computer Programming, Volume 1: Fundamental Algorithms". The main purpo......一起来看看 《A=B》 这本书的介绍吧!
XML、JSON 在线转换
在线XML、JSON转换工具
RGB HSV 转换
RGB HSV 互转工具