HS命令总结

目前一直在用J9,对HS的一些命令有些淡忘,最近用到时查了些资料,整理了一下备用(基于Linux)。

jps 是用来查看HS里面所有进程的信息,包括状态、进程ID,启动路径等。
jps  [options]  [hostid]

-l 输出主类全名。
-v 输出虚拟机进程启动的jvm参数。
-m 输出启动时传递给main函数的参数。

官方参考:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jps.html

 

jstat 用于收集Hotspot虚拟机各方面运行数据。

jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]  (间隔[ms]毫秒 监控[count]次)

需要注意的是这个命令受安全策略的限制,需要额外设定。

-class 类装载相关信息。
-compiler JIT编译器编译过的方法、耗时等。
-gc java堆信息和垃圾回收状况。
-gccapacity 关注java堆各个区的最大和最小空间。
-gccause 类似gcutil,额外输出导致上一次gc的原因。
-gcnew 新生代gc状况。
-gcnewcapacity 关注新生代gc使用的最大和最小空间。
-gcold  老年代gc状况。
-gcoldcapacity 关注老年代gc使用的最大和最小空间。
-gcpermcapacity 关注持久代gc使用的最大和最小空间。
-gcutil 关注已使用空间占总空间比例。
-printcompilation 输出已经被JIT编译的方法。

官方参考:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html

 

jstack 显示虚拟机的线程栈信息

jstack [ option ] pid

类似kill -3命令。只在SolarisLinuxJDK版本里面才有。

-l 除堆栈外,显示锁的附加信息 。
-F 当请求不被响应时,强制输出线程堆栈 。
-m 混合模式,打印java和本地C++调用的堆栈信息(默认)。

官方参考:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html

 

jinfo 显示虚拟机的配置信息

jinfo [ option ] pid

-flag name 打印虚拟机该参数对应的值。
-flag [+\-]name 使该参数生效或失效。
-flag name=value 修改相应参数的值。
-flags 打印传给jvm的参数值。
-sysprops 打印System.getProperties()信息。

官方参考:http://docs.oracle.com/javase/7/docs/technotes/tools/share/info.html

 

jmap 用于生成虚拟机的内存快照信息
jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP

-dump 生成堆dump文件,格式为: -dump:[live,]format=b,file=
-heap 显示java堆的详细信息,包括垃圾回收期、堆配置和分代信息等 。
-histo 显示堆中对象的统计信息,包括类名称,对应的实例数量和总容量 。
-permstat 统计持久代中各ClassLoader的统计信息。

官方参考:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html

 

jhat Heap分析工具

 jhat [ options ]

JDK1.7的实验用式命令。

官方参考:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jhat.html

 

官方参考总链接:

jvisualvm:
http://docs.oracle.com/javase/7/docs/technotes/tools/share/jvisualvm.html

 

 

 

你可能感兴趣的:(Java-JVM)