打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
应该知道的几个JDK自带命令与可视化工具

JDK发展至今已经非常强大,除了我们用来开发使用外实际上还提供了一系列的工具!

jps

JDK很多小工具名字和Linux的命令比较像,jps就是其中的典型,和Linux的ps很像,功能也像。

功能介绍:列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()方法所在的类)名称以及这些进程的本地虚拟机唯一ID(LVMID,Local Virtual Machine Idertifier)。

命令格式:jps[options] [hostid]

命令详解:jps还可以通过RMI协议查询开启了RMI服务的运行虚拟机进程状态,参数hostid为RMI注册表中注册的主机名。

options常见参数:

-q:只输出LVMID,省略主类的名称;

-m:输出虚拟机进程启动传递给主类main()方法的参数;

-l:输出主类全名,如果进程执行的是jar包,输出jar路径;

-v:输出虚拟机启动时的JVM参数;

参数运行示例如下图:

jstat(JVM Statistics Monitoring Tool)

监视虚拟机各种运行状态信息,可以显示本地或者远程虚拟机进程中的欸类加载、内存、垃圾收集、即时编译等运行数据.

命令格式:jstat[option vmid [interval[s|ms] [count]]]

命令解释:其中如果是本地虚拟机则vmid和上一个命令的LVMID是同一个,如果是远程,那么vimd是:[protocol:][//]lvmid[@hostname[:port]/servername]。

其中interval和count表示间隔时间和间隔次数,省略表示查询一次。

常见参数:

-class监视类加载、卸载数量、总空间以及类转正所耗费的时间;

-gc监视Java堆状况,包括Eden区、2个Survivor区、老年代、等容量,已用空间,垃圾收集时间;

-gccapacity与-gc参数基本相同,但输出主要关注Java堆各个区域使用到的最大、最小空间;

-gcutil与-gc基本相同,输出的是Java堆已使用空间占总空间百分比;

运行示例如下图:

S0、S1、E表示的是2个survivor和Eden使用比例,O、M表示老年代和元空间使用比例,CCS压缩使用比例,YGC、YGCT分别表示Young GC的次数和时间,FGC、FGCT同理,GCT则表示总时间。这些参数如果知道英语名字就能很好的记住。

jstack(Stack Trace for Java)

用于生成虚拟机当前时刻的线程快照,线程快照就是当前虚拟机内每条线程正在执行的方法堆栈集合。可以用来定位线程长时间停顿的原因。

命令格式:jstack[option] vmid;

option参数:

-F:当正常输出的请求不被响应时,强制输出线程堆栈;

-l:除堆栈外,显示关于锁的附加线程;

-m:如果调用到本地方法栈的话,可以显示C/C++的堆栈;

运行示例如下图:

可视化工具

jconsole

虚拟机监控工具,可以选择指定的进程进行观察,运行如下图:

选择进去过后就可以看到监控结果了,如下图:

jvisualvm

是jdk自带的可视化监控工具,功能很强大,同时还可以安装各种扩展插件,运行如下图:

总结

JDK发展至今已经有很多这类的工具了,在JDK的bin目录下基本上都是。这里只是简单介绍了几个简单好用的作为入门学习,更多的工具大家有兴趣可以去测试运行一下。

Java程序员日常学习笔记,如理解有误欢迎各位交流讨论!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
jvm系列(八):jvm知识点总览
干货:java之jdk命令行工具详解。
JDK的命令行工具
Java虚拟机学习- JDK可视化监控工具
成为JavaGC专家Part I — 深入浅出Java垃圾回收机制
详解JVM内存管理与垃圾回收机制1 - 内存管理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服