JVM监控工具-jps

jps功能

显示目标机器(本机或者远程)上的java进程。

用法

# 查看命令使用方式
[root@localhost ~]# jps -help
usage: jps [-help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]

参数说明

参数含义
-q只显示本地虚拟机标识符lvmid(local JVM identifiers)
-m显示传递给main方法的参数
-l显示应用程序主类的包名或者jar的全路径
-v显示传递给虚拟机的参数
-V官方文档介绍与-q参数功能一致,实测没卵用,可能是我打开方式不对,记得留言我
hostid当目标机器是远程机器时使用,用于标识远程机器

命令输出格式
lvmid [ [ classname | JARfilename | “Unknown”] [ arg* ] [ jvmarg* ] ]

实战一波

实战环境:

环境描述
虚拟机操作系统CentOS Linux release 7.6.1810 (Core)
虚拟机IP192.168.1.14
虚拟机javaopenjdk version “1.8.0_232”
虚拟机用户root
启动被监控Java进程
# 查看当前目录
[root@localhost ~]# pwd
/root
# 在/root下创建tech/nosql文件夹
[root@localhost ~]# mkdir -vp tech/nosql
mkdir: 已创建目录 "tech"
mkdir: 已创建目录 "tech/nosql"
# 创建测试用java文件:Hello.java
cat > tech/nosql/Hello.java <<EOF
package tech.nosql;

public class Hello {
    public static void main(String[] args) {
        for (int j = 0; j < Integer.MAX_VALUE; j++) {
            try {
                Thread.sleep(1000);
                System.out.println("j = " + j);
            } catch (InterruptedException e) {
                System.out.println("error");
            }
        }
    }
}
EOF
# 编译Hello.java
[root@localhost ~]# javac tech/nosql/Hello.java
# 运行Hello,传入虚拟机参数-Xms100m,给main方法传入arg1,arg2两个参数
[root@localhost ~]# java -Xms100m tech/nosql/Hello arg1 arg2
j = 0
j = 1
.....

jps实战
# 直接输入jps,默认输出格式:lvmid  [ classname | JARfilename | "Unknown"] 
[root@localhost ~]# jps
17073 Hello
17189 Jps
# -q: 只显示lvmid
[root@localhost ~]# jps -q
17073
17395
# -m:显示传递给main方法的参数,成功显示arg1,arg2
[root@localhost ~]# jps -m
17073 Hello arg1 arg2
17487 Jps -m
# -l:显示应用程序主类的包名或者jar的全路径,此时显示了Hello类的包名
[root@localhost ~]# jps -l
17073 tech/nosql/Hello
17541 sun.tools.jps.Jps
# -v:显示传递给虚拟机的参数,显示了传递给虚拟机的-Xms100m
[root@localhost ~]# jps -v
17073 Hello -Xms100m
17621 Jps -Dapplication.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 -Xms8m
# -V:官方文档介绍与-q参数功能一致,实测没卵用
[root@localhost ~]# jps -V
17073 Hello
17716 Jps
# -mlv:显示全部信息,格式:lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
[root@localhost ~]# jps -mlv
17073 tech/nosql/Hello arg1 arg2 -Xms100m
17852 sun.tools.jps.Jps -mlv -Dapplication.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 -Xms8m

参考地址

JDK13-tools: https://docs.oracle.com/en/java/javase/13/docs/specs/man/index.html
JDK13-jps: https://docs.oracle.com/en/java/javase/13/docs/specs/man/jps.html
JDK8-tools:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/
JDK8-jps:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html#CHDCGECD

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值