JDK内置工具使用
一、javah命令(CHeaderandStubFileGenerator)
二、jps命令(JavaVirtualMachineProcessStatusTool)
三、jstack命令(JavaStackTrace)
四、jstat命令(JavaVirtualMachineStatisticsMonitoringTool)
五、jmap命令(JavaMemoryMap)
六、jinfo命令(JavaConfigurationInfo)
七、jconsole命令(JavaMonitoringandManagementConsole)
八、jvisualvm命令(JavaVirtualMachineMonitoring,Troubleshooting,andProfilingTool)
九、jhat命令(JavaHeapAnalyseTool)
十、Jdb命令(TheJavaDebugger)
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
|
分享到:
相关推荐
详细介绍JVM命令行参数,详细会对你有所帮助的。
你必须知道的5个JVM命令行标志 解压密码 www.jiangyea.com
1.jps 2.jstack 3.jstat 4.jmap 5.jinfo 6.jcmd 7.jhat
java 性能优化,5条JVM命令
主要介绍了每个Java程序员必须知道的5个JVM命令行标志,需要的朋友可以参考下
JVM process status tool,显示指定系统内所有的 HotSpot 虚拟机进程 jstat JVM statistics monitoring tool,用于收集 HotSpot 虚拟机各方面的运行数据 jinfo 显示虚拟机配置信息 jmap 生产虚拟机的内存快照 ...
jvm命令行工具,java性能优化,jdk命令工具, jcmd命令、jps命令、jmap命令、jstack命令、jinfo命令、jstat命令
DisableExplicitGC HeapDumpOnOutOfMemoryError bootclasspath verbose Command-line-X
JVM调优前戏之JDK命令行工具.docx
JVM面试资料。 JVM结构:类加载器,执行引擎,本地方法接口,本地内存结构; 四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 ...JVM调优:命令行指令,设置堆内存大小的参数
和Java类路径(classpath)打交道的过程中,开发者偶尔会遇到麻烦。这是因为,类装载器实际装入的是哪...另外,你也可以使用JVM命令行参数-classpath分别为应用程序指定类路径,在-classpath中指定的类路径覆盖CLASSPA
kafkacat, 通用 命令行 非 JVM Kafka 生产者和消费者 kafkacat版权所有( c ) 2014 -2016 Edenhillhttps://github.com/edenhill/kafkacat是一个通用的非jvm生产者和消费者,用于 Apache Kafka> =0.8,
jvm-tools, 用于 JVM troublshooting 监视和分析的小工具集 瑞士Java刀片( SJK ) SJK是用于JVM诊断,故障诊断和分析的命令行 工具。SJK利用 JVM ( 例如 JMX,JVM附加和性能计数器)的标准诊断接口,并在上面添加更多...
Java JVM ...在javajvm-xxx.jar所在的目录下,命令行中执行 java -jar javajvm-xxx.jar 运行上面的命令后,你会看到一些提示信息。 现在,将HelloWorld.java编译成HelloWorld.class,然后用JVM运行。
对Java环境的所有命令行和JVM的命令进行了汇总。同时,也进行了举例说明。
差异bcdiff 是一个用 Scala 编写的命令行 JVM 类文件差异工具。 bcdiff 支持: 显示两个类文件(名称、标志、实现的接口...)之间元数据的差异, 在两个类文件之间以一种聪明的标签感知方式区分匹配方法(具有相同...
linux命令行完整安装weblogic12c--及优化JVM---可用-附件资源
jstat用户监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行统计
本人实践,物超所值,一站式解决jmeter负载机环境问题,问题集合含: 1 slave机器的自定义端口号配置; 2 负载机(Slave)找不到参数文; 3 无数据,依赖文件报错的问题; 4 Server failed to start: java.rmi....