jdk常用的七种性能监控命令行工具

引言

在jdk的开发包里,除了我们常用的java.exejavac.exe程序外,还有一系列辅助工具,这些工具可以帮助我们更好地分析指定java程序的运行状态,比如jstack.exejps.exejstate.exe等。下面我们对一些重要的工具进行讲解。

注意:在jdk8及以前,工具类的可执行文件的实现都在lib/tools.jar上,但是在jdk9及以后,以前存储在lib中的lib/rt.jarlib/tools.jarlib.dt.jar,以及其他各种内部jar文件现在以更高效的格式存储在lib目录中特定的实现文件中。

注意:我使用的环境为Windows10,jdk11。此处放出jdk11工具程序的官方说明文档,读者可以从此文档中获取详细信息。

进程查看器——jps

jps命令会列出运行在本地的所有java进程。

它的相关参数如下:

  • -q:指定jps只输出进程ID,而不输出类的名称。
  • -m:输出传递给java进程的参数。
  • -l:输出主函数的完整路径。
  • -v:显示传递给java虚拟机的参数。

示例如下:

C:\Users\hu'nan>jps -m -l -v
19536 cn.bigkai.ApplicationStart -Xlog:gc=trace:file=gc.log -Xmx32M -Xms32M -javaagent:F:\instrument\java\idea2019\lib\idea_rt.jar=57122:F:\instrument\java\idea2019\bin -Dfile.encoding=UTF-8

查看虚拟机运行状态——jstat

jstat可以查看java虚拟机的运行时的相关信息 以及堆信息的详细情况。基本语法如下:

C:\Users\hu'nan>jstat --help
Usage: jstat --help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

jstat的相关参数如下:

  • option的相关参数如下:
    • -class:显示ClassLoader的相关信息。
    • -compiler:显示JIT编译的相关信息。
    • -gc:显示与GC相关的堆栈信息。
    • -gccause:显示垃圾回收相关信息,同时显示最后一次或当前正在发生的垃圾回收的原因
    • -gcnew:显示新生代信息。
    • -gcnewcapacity:显示新生代大小与使用情况。
    • -gcold:显示老年代信息。
    • -gcoldcapacity:显示老年代大小与使用情况。
    • -gcpermacapacity:显示永久代大小。
    • -gcutil:显示垃圾回收信息。
    • -printcompilation:输出JIT编译的方法信息。
  • -t参数可以在输出信息前加一个Timestamp列,显示程序的运行时间。
  • -h参数可以指定在周期性数据输出时,输出多少行数据后输出一个表头信息。
  • interval:指定输出统计数据的周期,单位为毫秒。
  • count<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值