JDK自带的命令行工具

一、jps:JVM Process Status Tool,显示指定系统内所有的虚拟机进程。

jps的用法:

jps工具主要选项:

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

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

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

-v:输出虚拟机进程启动时JVM参数

 

二、jstat:JVM Statistic Monitoring Tool,用于收集虚拟机各方面的运行数据

jstat可以显示本地或远程虚拟机进程中的类装载、内存、垃圾回收、JIT编译等,用法如下:

参数选项:

-class:监视类装载、卸载、总空间及类装载所耗费的时间

-gc:监视Java堆状况

-gccapacity:监视内容与-gc基本一样,但输出主要关注Java堆各个区域使用到的最大和最小空间

-gcutil:监视内容与-gc基本一样,但输出主要关注已使用空间占总空间的百分比

-gccause:与-gcutil功能一样,但会额外输出导致上一次GC产生的原因

-gcnew:监视新生代GC的状况

-gcnewcapacity:监视内容与-gcnew基本一样,输出主要关注使用到的最小和最大空间

-gcold:监视老年代GC的状况

-gcoldcapacity:监视内容与-gcold基本一样,输出主要关注使用到的最小和最大空间

-gcpermcapacity:输出永久代使用到的最小和最大空间

-compiler:输出JIT编译器编译过的方法、耗时等信息

-printcompilation:输出已被JIT编译的方法

 

三、jinfo:Configuration Info for Java,显示虚拟机配置信息

jinfo用法:

-flag:打印某个指定的name信息,[+|-]用于启用或者禁止该name,<name>=<value>可以动态设置name值

-flags:打印所有VM flags

-sysprops:打印所有Java系统属性

 

四、jmap:Memory Map for Java,生成虚拟机的内存转储快照(heapdump文件) 

jmap可以用来查看等待回收对象的队列,查看堆的概要信息,包括采用的是哪种GC收集器,堆空间的使用情况,用法如下:

参数:

-heap:显示Java堆详细信息

-finalizerinfo:显示在F-Queue中等待Finalizer线程执行finalize方法的对象

-dump:生成Java堆转储快照

-histo:显示堆中对象统计信息

-F:当虚拟机对-dump选项没有响应时,使用这个选项强制生成

 

五、jhat:JVM Heap Dump Brower,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,在浏览器上查看分析结果

用法:

利用jmap生成一个dump文件:

利用jhat分析这个dump文件:

Server is ready,浏览器打开http://localhost:7000就可以查看分析了。。。

 

六、jstack:Stack Trace for Java,显示虚拟机的线程快照

用法:

参数:

-F:强制输出线程堆栈

-l:除堆栈外,显示关于锁的附加信息

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

这些工具不用死记和背诵,知道怎么用就好了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿人小郑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值