jps命令(Java Virtual Machine Process Status Tool)

 

JDK内置工具使用

一、javah命令(C Header and Stub File Generator)

二、jps命令(Java Virtual Machine Process Status Tool)

三、jstack命令(Java Stack Trace)

四、jstat命令(Java Virtual Machine Statistics Monitoring Tool)

五、jmap命令(Java Memory Map)

六、jinfo命令(Java Configuration Info)

七、jconsole命令(Java Monitoring and Management Console)

八、jvisualvm命令(Java Virtual Machine Monitoring, Troubleshooting, and Profiling Tool)

九、jhat命令(Java Heap Analyse Tool)

十、Jdb命令(The Java Debugger)

十一、Jstatd命令(Java Statistics Monitoring Daemon)


1、介绍

    用来查看基于HotSpotJVM里面中,所有具有访问权限的Java进程的具体状态包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。

    使用jps时,如果没有指定hostid,它只会显示本地环境中所有的Java进程;如果指定了hostid,它就会显示指定hostid上面的java进程,不过这需要远程服务上开启了jstatd服务,可以参看前面的jstatd章节来启动jstad服务。

 

2、命令格式

jps [ options ] [ hostid ]

 

3、常用参数说明

-q 忽略输出的类名、Jar名以及传递给main方法的参数,只输出pid

-m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null

-l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。

-v 输出传给JVM的参数。

-V 输出通过标记的文件传递给JVM的参数(.hotspotrc文件,或者是通过参数-XX:Flags=<filename>指定的文件)。

-J 用于传递jvm选项到由javac调用的java加载器中,例如,“-J-Xms48m”将把启动内存设置为48M,使用-J选项可以非常方便的向基于Java的开发的底层虚拟机应用程序传递参数。

 

4、服务器标识

hostid指定了目标的服务器,它的语法如下:

[protocol:][[//]hostname][:port][/servername]

protocol - 如果protocolhostname都没有指定,那表示的是与当前环境相关的本地协议,如果指定了hostname却没有指定protocol,那么protocol的默认就是rmi

hostname - 服务器的IP或者名称,没有指定则表示本机。

port - 远程rmi的端口,如果没有指定则默认为1099

Servername - 注册到RMI注册中心中的jstatd的名称。

 

5、使用示例

5.1、列出本地的Java进程

不带任何参数

fenglibin@libin:~$ jps

11644 Main

1947 

12843 Jps

-v参数

fenglibin@libin:~$ jps -v

11644 Main -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:43467 -Dfile.encoding=GBK

1947  -Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms40m -Xmx512m

12858 Jps -Denv.class.path=/home/fenglibin/java6/lib/dt.jar:/home/fenglibin/java6/lib/tools.jar::/usr/bin/libtool:/usr/bin/autoconf:/usr/local/BerkeleyDB.4.8/lib -Dapplication.home=/home/fenglibin/java6 -Xms8m

-l参数

fenglibin@libin:~$ jps -l

11644 com.alibaba.china.webww.core.Main

12870 sun.tools.jps.Jps

1947

 

 

5.2、列出远程的Java进程

jstatd章节,我们有通过:

rmiregistry 2020&jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName

启动了名为AlternateJstatdServerNamejstatd服务,那么我们此时就可以通过该服务列出其有权限访问的Java进程。

fenglibin@libin:~$ jps 10.1.1.234:2020/AlternateJstatdServerName

29556 Bootstrap

28671 WSPreLauncher

2602 RegistryImpl

18272 Test

2603 Jstatd




  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,Java命令是用于执行Java程序的命令,而jpsJava Virtual Machine Process Status Tool的缩写,用于显示当前运行的Java进程。这两个命令的功能不同,因此不能通用。 Java命令Java Development Kit(JDK)中的一部分,它允许我们在Linux系统上编译和运行Java代码。通过Java命令,我们可以指定要运行的Java类的主函数,以及其他相关参数,如类路径、堆大小等。Java命令可以启动一个Java虚拟机(JVM)实例,并执行指定的Java代码。 而jps是一种用于管理和监视正在运行的Java应用程序和虚拟机的命令行工具。它可以显示出当前系统中运行的所有Java进程的ID以及对应的类名。通过jps命令,我们可以方便地查看Java程序的运行状态,比如正在运行的Java进程的内存占用情况、线程信息等。这对于诊断和监控Java应用程序的运行非常有用。 尽管Java命令jps都与Java相关,但它们的主要用途和功能不同。Java命令主要用于在Linux上编译和运行Java程序,而jps主要用于查看Java进程的运行状态。因此,Linux系统下可以正确执行Java命令,但不能直接使用jps命令,这是由于jps命令不是Linux系统默认支持的命令。要使用jps命令,我们需要先安装Java Development Kit,并将其添加到系统的环境变量中。 总结来说,Linux系统中Java命令用于编译和运行Java程序,而jps命令用于查看Java进程的运行状态。两者功能不同,因此无法通用。要使用jps命令,需要先安装Java Development Kit,并将其添加到系统的环境变量中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值