jps的作用主要是查看有权访问Hotspot虚拟机的进程

作者:美狮美高梅官方网站

jps 命令类似与 linux 的 ps 命令,但是它只列出系统中所有的 Java 应用程序。 通过 jps 命令可以方便地查看 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息。

jps,英文为"Java Virtual Machine Process Status Tool",中文可翻译成"Java虚拟机进程状态工具"。jps的作用主要是查看有权访问Hotspot虚拟机的进程。

一. jps (Java Virtual Machine Process Status Tool)——主要用来输出JVM中运行的进程状态信息    

如果在 linux 中想查看 java 的进程,一般我们都需要 ps -ef | grep java 来获取进程 ID。如果只想获取 Java 程序的进程,可以直接使用 jps 命令来直接查看。

我们可以使用jps -help命令列出其主要语法,如下所示:

语法格式: jps [options] [hostid]  如果不指定hostid默认为当前服务器

图片 1

usage: jps [-help] jps [-q] [-mlvV] [<hostid>]Definitions: <hostid>: <hostname>[:<port>]

options:

-q:只输出进程 ID-m:输出传入 main 方法的参数-l:输出完全的包名,应用主类名,jar的完全路径名-v:输出jvm参数-V:输出通过flag文件传递到JVM中的参数

  1. 不带任何参数,默认列出进程pid和简单的class或jar名称

-q:不输出类名,JAR文件名和通过main方法传递的参数,仅生成本地VM标识符列表

-m:输出通过main方法传递的参数,对于嵌入式JVM,输出可能为null

-l:输出main方法的完整程序包名称或JAR文件的完整路径名

-v:输出传递给JVM的参数

-V:输出通过标志文件传递给JVM的参数(例如:.hotspotrc文件或由-XX:Flags = <文件名>参数指定的文件)

-J (option):将选项传递给java程序(例如:-J-Xms48m将启动内存设置为48兆字节。 -J通过是一个通用的约定执行用Java编写的应用程序的底层VM选项)

[hostid]:远程服务器地址,jps 支持远程调用[protocol:][[//]hostname][:port][/servername]

无参数:显示进程的ID 和 类的名称

图片 2不带任何参数

注意:如果需要查看其他机器上的jvm进程,需要在待查看机器上启动jstatd

图片 3

  1. -q,仅显示进程编号,不显示class、jar及传入参数等其他信息.

二. jstatd (Java Virtual Machine jstat Daemon)——监听远程服务器的CPU,内存,线程等信息

jps 不带参数,默认显示 进程ID 和 启动类的名称。

图片 4参数,-q

语法格式:jstatd [options]

参数 -q 只输出进程ID,而不显示出类的名称

  1. -m,输出main()函数传入的参数

options:

图片 5

图片 6参数,-m

-nr:当没有找到现有的RMI注册表时,不会尝试在jstatd进程中创建内部RMI注册表

-p port:希望找到RMI注册表的端口号,或者如果未找到,则在未指定-nr的情况下创建RMI注册表

-n rminame:远程RMI对象在RMI注册表中绑定的名称。 默认名称是JStatRemoteHost。 如果多个jstatd服务器在同一主机上启动,通过指定该选项,可以使每个服务器导出的RMI对象的名称唯一。 但是,这样做将需要保证在监视客户端的hostid和vmid中存在唯一的服务器名称。

-J (option):将选项传递给java程序(例如:-J-Xms48m将启动内存设置为48兆字节。 -J通过是一个通用的约定执行用Java编写的应用程序的底层VM选项)

参数 -m 可以输出传递给 Java 进程的参数。

  1. -l,输出应用程序主类的完整package名称或完整jar名称.

上面所说的一切都是建立在jstatd服务器启动的情况下,启动如下:(谨防使用)

图片 7

图片 8参数,-l

1.  创建jstatd服务器授权文件jstatd.all.policy,代码如下,然后将改文件放到Java/bin目录下。

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: