Java常用命令行工具

命令基于Sun JDK,用于监控和诊断HotSpot的java 虚拟机。 对应的可执行文件位于$JAVA_HOME/bin/下

jps-虚拟机进程状况工具

选项

作用

-q

只输出LVMID,同进程pid

-m

输出JVM启动时传给主类main()的参数。

-l

输出主类全名。如果进程执行的是jar包,则输出包名。

-v

输出JVM启动时JVM参数。

jstat-虚拟机统计信息监视工具

命令格式

jstat [ option vmid [interval[s|ms] [count]] ]

interval代表查询间隔,可以指定时间单位为s或ms,默认为ms。

选项

作用

-class

监视类装载、卸载数量,字节数,以及类装载所耗费的时间。

-gc

监视java堆状况,包括Eden区,Survivor区,Old区,Perm区的容量,已使用容量及YGC,FGC发生的次数及耗费的时间。

-gccapacity

监视Java堆各个区的最大,最小使用容量及配置容量。

-gcutil

监视Java堆各个区的空间使用百分比及YGC,FGC发生的次数及耗费的时间。

-gccause

同-gcutil功能相同,额外输出上一次GC产生的原因。

-compiler

输出JIT编译器编译过的方法个数,耗时等信息。

-printcompilation

输出已经被JIT编译的方法

jinfo-Java配置信息工具

<no option>

打印命令行参数及系统属性。

-flag name

打印给定name对应的命令行参数值。

-flag [+|-]name

更改boolean类型的命令行参数值

-flag name=value

更改name对应的命令行参数值为value。

-flags

打印传给JVM的命令参数值。

-sysprops

打印系统属性值。

jmap-java内存映像工具

-dump

生成dump文件,格式为:-dump:[live,]format=b,file=<filename>,其中live表示先做GC然后再做dump文件,即只dump活的对象。

-finalizerinfo

显示在F-Queue中等待Finalizer线程执行finalize方法的对象。Only for Linux。

-heap

显示Java堆栈详细信息,例如GC收集器,参数配置,JVM内存分区情况。Only for Linux。

-histo

显示堆中对象的统计信息,包括类、实例数量、容量大小。

-permstat

按照ClassLoader统计Perm区的内存状态。Only for Linux。

-F

与-dump参数一起使用,强制生成dump文件。

jhat-dump文件分析工具

选项

作用

-port

指定http启动的端口,默认7000

-J<flag>

指定传给jhat JVM的参数,-J-Xmx512m表示jhat进程最大堆大小为512m。

jstack-java堆栈跟踪工具

选项

作用

-F

当正常输出请求得不到响应时,强制输出堆栈信息。

-l

除堆栈外,显示关于锁的附加信息。

-m

如果调用native方法,则可以打出c/c++的线程堆栈。

上一篇:格式化输出的JSON字符串


下一篇:php7的一些特性