JPS
查看Java进程
jps
// 显示传递给JVM的参数
jps -v
// 显示传递给main方法的参数
jps -m
// 显示应用程序主类的完整包名或应用程序 JAR 文件的完整路径名。
jps -l
jstat
用于观察Java应用程序运行时相关信息的工具。
// 显示有关垃圾收集堆行为的统计信息。
-gc
// 显示JVM中各分区的容量和使用情况
-gccapacity
// 显示有关垃圾收集统计信息的摘要,以及上次和当前垃圾收集事件的原因。
-gccause
// 显示新生代的统计信息
-gcnew
// 显示有关新生代大小及其相应空间的统计信息。
-gcnewcapacity
// 显示有关老年代行为的统计信息和元空间统计信息。
-gcold
// 显示有关老年代大小的统计信息
-gcoldcapacity
// 显示有关元空间大小的统计信息
-gcmetacapacity
// 显示有关垃圾收集统计信息的摘要。
-gcutil
// 显示-gcutil的输出,以250ms的间隔采集7个样本
jstat -gcutil 21891 250 7
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 97.02 70.31 66.80 95.52 89.14 7 0.300 0 0.000 0.300
0.00 97.02 86.23 66.80 95.52 89.14 7 0.300 0 0.000 0.300
0.00 97.02 96.53 66.80 95.52 89.14 7 0.300 0 0.000 0.300
91.03 0.00 1.98 68.19 95.89 91.24 8 0.378 0 0.000 0.378
91.03 0.00 15.82 68.19 95.89 91.24 8 0.378 0 0.000 0.378
91.03 0.00 17.80 68.19 95.89 91.24 8 0.378 0 0.000 0.378
jinfo
jinfo命令可以用来查看正在运行的Java运行程序的扩展参数。
jinfo <option> <pid>
[root@node2 ~]# jinfo -flags 1673
Attaching to process ID 1673, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.231-b11
Non-default VM flags: -XX:CICompilerCount=2 -XX:CMSInitiatingOccupancyFraction=75 -XX:+DisableExplicitGC -XX:GCLogFileSize=20971520 -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=268435456 -XX:MaxHeapSize=1073741824 -XX:MaxNewSize=174456832 -XX:MaxTenuringThreshold=6 -XX:MinHeapDeltaBytes=196608 -XX:NewSize=174456832 -XX:NumberOfGCLogFiles=25 -XX:OldPLABSize=16 -XX:OldSize=93978624 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseFastUnorderedTimeStamps -XX:+UseGCLogFileRotation -XX:+UseParNewGC
Command line: -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=25 -XX:GCLogFileSize=20m -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:/var/log/elasticsearch/es-gc-%t.log -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch
[root@node2 ~]#
jmap
jmap是一个多功能的命令,可以生成Java程序的堆Dump文件,也可以查看堆内对象实例的统计信息。
// 生成Java程序的堆Dump文件
jmap -dump:format=b,file=filename
// 查看堆内对象实例的统计信息
[root@node2 ~]# jmap -heap 21192
Attaching to process ID 21192, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.231-b11
using thread-local object allocation.
Parallel GC with 2 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 1610612736 (1536.0MB)
NewSize = 42991616 (41.0MB)
MaxNewSize = 536870912 (512.0MB)
OldSize = 87031808 (83.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 119013376 (113.5MB)
used = 81125448 (77.36725616455078MB)
free = 37887928 (36.13274383544922MB)
68.16498340489056% used
From Space:
capacity = 3145728 (3.0MB)
used = 2714480 (2.5887298583984375MB)
free = 431248 (0.4112701416015625MB)
86.29099527994792% used
To Space:
capacity = 30932992 (29.5MB)
used = 0 (0.0MB)
free = 30932992 (29.5MB)
0.0% used
PS Old Generation
capacity = 282591232 (269.5MB)
used = 181341504 (172.94073486328125MB)
free = 101249728 (96.55926513671875MB)
64.17095913294295% used
72136 interned Strings occupying 6908344 bytes.
jstack
jstack用于导出Java应用程序的线程堆栈。