Java教程

Java卸载工具:几个JDK自带命令与可视化工具

本文主要是介绍Java卸载工具:几个JDK自带命令与可视化工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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自带的可视化监控工具,功能很强大,同时还可以安装各种扩展插件,运行如下图:

 

这篇关于Java卸载工具:几个JDK自带命令与可视化工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!