JDK自带的命令行工具

超、凢脫俗 2022-04-15 23:55 368阅读 0赞

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

jps的用法:

20181114163316174.jpg

jps工具主要选项:

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

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

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

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

2018111416383743.jpg

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70

参数选项:

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

-gc:监视Java堆状况

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

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

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

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

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

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

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

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

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

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

20181114165126341.jpg

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

jinfo用法:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 1

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

-flags:打印所有VM flags

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 2

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 3

参数:

-heap:显示Java堆详细信息

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

-dump:生成Java堆转储快照

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 4

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

用法:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 5

利用jmap生成一个dump文件:

2018111417193836.jpg

利用jhat分析这个dump文件:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 6

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 7

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

用法:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 8

参数:

-F:强制输出线程堆栈

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwZW9wbA_size_16_color_FFFFFF_t_70 9

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

发表评论

表情:
评论列表 (有 0 条评论,368人围观)

还没有评论,来说两句吧...

相关阅读