JVM调优之常见的JVM工具jps

JVM工具主要用来监控JVM的,这类工具主要分为两大类,第一是jvm自带的,比如jstat、jmap等,还有依赖第三方的,如VisualVM等。这些工具的用途不太一样,监控的方向也不一样,下面简单介绍下jps。

jps:jdk1.5提供的一个显示当前所有java进程pid命令,简单实用,非常适合再linux/unix平台上简单查看当前java进程的一些简单情况。

jps命令的作用是什么?

很多java命令再jdk的java_home/bin/目录下面,jps也不例外,他就是bin目录下,所以,他也是java自带的一个命令。

jdk中jps命令可以显示当前运行java进程及相关参数,它的实现机制如下:

java程序在启动以后,会在java.io.tmpdir指定的目录下,就是临时文件夹中生成一个类似于hsperfdata_User的文件夹,这个文件夹里有几个文件,名字就是java进程的pid,因此列出当前运行的java进程,只是这个目录里的文件名列一下而已。至于系统的参数什么,就可以解析这几个文件获得。

上图中在/tmp/hsperfdata_th目录下ll查看显示当前java应用程序的进程号,可以用jps验证,执行jps之后可以查看上面对应的进程号使用的进程。

jps的使用

使用命令jps -help查看帮助如下:

其中 -q只显示pid,不显示class名称,jar文件名和传递给main方法的参数,-m输出传递给main方法的参数,在嵌入式jvm上可能是null,在这里,在mian方法启动的时候,我给String[] args传递两个参数 ,michael,chuang,执行jps -m:对应相应的进程号和传参,-l 输出应用程序main class的完整package名 或者应用程序的jar文件完整路径名,-v 输出传递给JVM的参数,在这里在启动main方法的时候,给jvm传递了一个参数:-Dfile.encoding=UTF-8,执行jps -v即可查看。

不足

jps命令有个地方不好,似乎只能显示当前用户的java进程,要显示其他用户的还是只能用unix/linux的ps命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值