一、javah命令(CHeaderandStubFileGenerator)
二、jps命令(JavaVirtualMachineProcessStatusTool)
四、jstat命令(JavaVirtualMachineStatisticsMonitoringTool)
六、jinfo命令(JavaConfigurationInfo)
七、jconsole命令(JavaMonitoringandManagementConsole)
八、jvisualvm命令(JavaVirtualMachineMonitoring,Troubleshooting,andProfilingTool)
十一、Jstatd命令(Java Statistics Monitoring Daemon)
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、使用示例
5.1、列出本地的Java进程
不带任何参数
fenglibin@libin:~$jps 11644Main 1947 12843Jps |
带-v参数
fenglibin@libin:~$jps-v 11644Main-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:43467-Dfile.encoding=GBK 1947-Dosgi.requiredJavaVersion=1.5-XX:MaxPermSize=256m-Xms40m-Xmx512m 12858Jps-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 11644com.alibaba.china.webww.core.Main 12870sun.tools.jps.Jps 1947
|
5.2、列出远程的Java进程
在jstatd章节,我们有通过:
rmiregistry2020&jstatd-J-Djava.security.policy=all.policy-p2020-nAlternateJstatdServerName |
启动了名为AlternateJstatdServerName的jstatd服务,那么我们此时就可以通过该服务列出其有权限访问的Java进程。
fenglibin@libin:~$jps10.1.1.234:2020/AlternateJstatdServerName 29556Bootstrap 28671WSPreLauncher 2602RegistryImpl 18272Test 2603Jstatd |