摘要: jvm param
非标准化参数
$ java -Xint -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, interpreted mode)
$ java -Xcomp -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, compiled mode)
$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
非标准化参数,相对不稳定,主要用于JVM调优和调试
$ jinfo.exe -flag InitialHeapSize 20016
-XX:InitialHeapSize=1073741824 # 1G
-Xmx 等价于 -XX:MaxHeapSize= Heap的最大值
$ jinfo.exe -flag MaxHeapSize 20016
-XX:MaxHeapSize=1073741824 # 1G
-Xss 等价于 -XX:ThreadStackSize= 线程栈的大小,默认1M
$ jinfo.exe -flag ThreadStackSize 20016
-XX:ThreadStackSize=1024 # 1M
-Xmn 等价于 -XX:MaxNewSize= -XX:NewSize= 新生代的大小
$ jinfo.exe -flag MaxNewSize 20016
-XX:MaxNewSize=536870912 # 512M
$ jinfo.exe -flag NewSize 20016
-XX:NewSize=536870912 # 512M
$ java -XX:+PrintFlagsFinal -version
[Global flags]
...
bool UseConcMarkSweepGC = false
bool UseParallelGC := true
uintx MaxHeapSize := 4227858432 uintx MaxMetaspaceSize = 4294901760
...
$ jinfo.exe -flags 20016
Attaching to process ID 20016, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.144-b01
Non-default VM flags: -XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:CICompilerCount=4 -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:CMSMaxAbortablePrecleanTime=5000 ...
$ jps
20016 YssBaseAdminApplication
11704 YssBaseAuthApplication
20824 AuthDataSyncApplication
14140 ApiGatewayApplication
21564 Jps
$ jstat -class 20016 1000 3
Loaded Bytes Unloaded Bytes Time
17738 37286.3 0 0.0 14.17
17738 37286.3 0 0.0 14.17
17738 37286.3 0 0.0 14.17
查看垃圾收集信息
$ jstat -gc 20016 1000 3
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
43648.0 43648.0 35638.4 0.0 436992.0 92098.5 524288.0 274918.1 116992.0 111496.1 14080.0 12956.9 26 1.148 0 0.000 1.148
43648.0 43648.0 35638.4 0.0 436992.0 92281.4 524288.0 274918.1 116992.0 111496.1 14080.0 12956.9 26 1.148 0 0.000 1.148
43648.0 43648.0 35638.4 0.0 436992.0 92305.6 524288.0 274918.1 116992.0 111496.1 14080.0 12956.9 26 1.148 0 0.000 1.148
_C 总量 _U使用量 S0、S1 S区 E Eden 区 O Old 区 M Metaspace 区 CC 压缩类空间 YGC Young GC 次数 YGCT Young GC 时间 FGC Full GC 次数 FGCT Full GC 时间 GCT 总的GC 时间 查看JIT编译信息
$ jstat -compiler 20016
Compiled Failed Invalid Time FailedType FailedMethod
21115 11 0 5.54 1 org/apache/http/client/utils/URLEncodedUtils parse
$ jstat -printcompilation 20016
Compiled Size Type Method
21127 9 1 org/apache/coyote/AbstractProcessor _jr$ip$socketWrapper
编译的任务(把一个方法编译为本地方法) 参数docs
$ jmap -dump:format=b,file=heap.hprof 20016
Dumping heap to D:\arthas\heap.hprof ...
Heap dump file created
$ jmap -heap 20016
Attaching to process ID 20016, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.144-b01
using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 1073741824 (1024.0MB)
NewSize = 536870912 (512.0MB)
MaxNewSize = 536870912 (512.0MB)
OldSize = 536870912 (512.0MB)
NewRatio = 2
SurvivorRatio = 10
MetaspaceSize = 268435456 (256.0MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 536870912 (512.0MB)
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 492175360 (469.375MB)
used = 314702936 (300.12410736083984MB)
free = 177472424 (169.25089263916016MB)
63.94122127527879% used
Eden Space:
capacity = 447479808 (426.75MB)
used = 279453176 (266.50731658935547MB)
free = 168026632 (160.24268341064453MB)
62.450454971143635% used
From Space:
capacity = 44695552 (42.625MB)
used = 35249760 (33.616790771484375MB)
free = 9445792 (9.008209228515625MB)
78.8663713114003% used
To Space:
capacity = 44695552 (42.625MB)
used = 0 (0.0MB)
free = 44695552 (42.625MB)
0.0% used
concurrent mark-sweep generation:
capacity = 536870912 (512.0MB)
used = 318668000 (303.9054870605469MB)
free = 218202912 (208.09451293945312MB)
59.35654044151306% used
63573 interned Strings occupying 7445616 bytes.