java jvm常用命令工具——jps命令(Java Virtual Machine Process Status Tool)

1.介绍

        用来查看基于HotSpot的JVM里面中,所有具有访问权限的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 - 如果protocol及hostname都没有指定,那表示的是与当前环境相关的本地协议,如果指定了hostname却没有指定protocol,那么protocol的默认就是rmi。

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

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

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

5.使用示例

1).列出本地的Java进程


 

2).列出远程的Java进程

        如我们有通过:rmiregistry 2020&jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName启动了名为AlternateJstatdServerName的jstatd服务,那么我们此时就可以通过该服务列出其有权限访问的Java进程。

        jps 10.1.1.234:2020/AlternateJstatdServerName

文章来源:http://blog.csdn.net/fenglibing/article/details/6411932

猜你喜欢

转载自bijian1013.iteye.com/blog/2221337