前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM Param

JVM Param

作者头像
itliusir
发布2019-12-11 12:18:23
7870
发布2019-12-11 12:18:23
举报
文章被收录于专栏:刘君君刘君君

摘要: jvm param

正文:

JVM 参数

JVM 参数类型

标准参数

  • -help
  • -server -client
  • -version -showvesion
  • -cp -classpath

X参数

非标准化参数

  • -Xint 解释执行
代码语言:javascript
复制
$ 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)
  • -Xcomp 第一次使用就编译成本地代码
代码语言:javascript
复制
$ 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)
  • -Xmixed 混合模式,JVM自己来决定是否编译成本地代码
代码语言:javascript
复制
$ 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)

XX参数

非标准化参数,相对不稳定,主要用于JVM调优和调试

  • Boolean 类型 格式:-XX:[+-] 表示启用或 者禁用name属性 exp :-XX:+UseConcMarkSweepGC -XX:+UseG1GC
  • 非 Boolean 类型 格式:-XX:= 表示name属性的值是value exp :-XX:MaxGCPauseMillis=500 -XX:GCTimeRatio=19
  • -Xmx -Xms …参数 不是X参数,而是XX参数 -Xms 等价于 -XX:InitialHeapSize= Heap初始化的大小
代码语言:javascript
复制
$ jinfo.exe -flag InitialHeapSize 20016
-XX:InitialHeapSize=1073741824 # 1G

-Xmx 等价于 -XX:MaxHeapSize= Heap的最大值

代码语言:javascript
复制
$ jinfo.exe -flag MaxHeapSize 20016
-XX:MaxHeapSize=1073741824 # 1G

-Xss 等价于 -XX:ThreadStackSize= 线程栈的大小,默认1M

代码语言:javascript
复制
$ jinfo.exe -flag ThreadStackSize 20016
-XX:ThreadStackSize=1024 # 1M 

-Xmn 等价于 -XX:MaxNewSize= -XX:NewSize= 新生代的大小

代码语言:javascript
复制
$ jinfo.exe -flag MaxNewSize 20016
-XX:MaxNewSize=536870912 # 512M

$ jinfo.exe -flag NewSize 20016
-XX:NewSize=536870912	# 512M

查看JVM运行时参数

  • -XX:+PrintFlagsInitial 查看初始值
  • -XX:+PrintFlagsFinal 查看最终值
代码语言:javascript
复制
$ java -XX:+PrintFlagsFinal -version
[Global flags]
	...
	bool UseConcMarkSweepGC                        = false
    bool UseParallelGC                            := true
    uintx MaxHeapSize                             := 4227858432                		uintx MaxMetaspaceSize                         = 4294901760
    ...
  • -XX:+UnlockExperimentalVMOptions 解锁实验参数
  • -XX:+UnlockDiagnosticVMOptions 解锁诊断参数
  • -XX:+PrintCommandLineFlags 打印命令行参数
  • jinfo
代码语言:javascript
复制
$ 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 类似ps命令
代码语言:javascript
复制
$ jps
20016 YssBaseAdminApplication
11704 YssBaseAuthApplication
20824 AuthDataSyncApplication
14140 ApiGatewayApplication
21564 Jps
  • jstat 查看类装载信息
代码语言:javascript
复制
$ 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

查看垃圾收集信息

代码语言:javascript
复制
$ 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编译信息

代码语言:javascript
复制
$ 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
代码语言:javascript
复制
$ 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.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文:
  • JVM 参数
    • JVM 参数类型
      • 标准参数
      • X参数
      • XX参数
    • 查看JVM运行时参数
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档