启动参数类别
标准参数(Standard Options)
非标参数(Non-Standard Options)
高级运行参数(Advanced Runtime Options)
高级即时编译器参数(Advanced JIT Compiler Options)
高级应用服务辅助参数(Advanced Serviceability Options)
高级垃圾收集器参数(Advanced Garbage Collection Options)
标准参数
所有版本jvm都实现了的通用参数
-client 选择HotSpot Client VM启动
-server 选择HotSpot Server VM启动
-verbose:class 展示所有已加载的class信息
-verbose:gc 展示所有垃圾收集事件信息
-verbose:jni 展示所有活跃的本地方法或java本地接口
非标参数
对于HotSpot Virtual Machine的特殊参数(-X)
-Xmnsize 年轻带内存初始化最大内存设置 例如:-Xmn256m -Xmn256k -Xmn256
-XX:NewSize 年轻带初始化内存设置
-XX:MaxNewSize 年轻带最大内存设置
-Xmssize 堆(heap)区空间内存设置,为1024的倍数且大于1Mb,例如:-Xms6291456 -Xms6291456k -Xms6291456m
-Xmxsize 虚拟机可用最大内存空间,为1024的倍数且大于2Mb,例如: -Xmx80m-Xmx2048 -Xmx2048k
-XX:MaxHeapSize 堆最大内存设置(等价)
-Xsssize 栈内存大小设置,例如: -Xss1m -Xss1024 -Xss1k
-XX:ThreadStackSize=1m-XX:ThreadStackSize=1024k-XX:ThreadStackSize=1048576(等价)
高级运行参数
控制虚拟机运行时行为
-XX:ErrorFile=filename 运行时错误日志记录 ,例如: -XX:ErrorFile=./hs_err_pid%p.log
高级即时编译器参数
动态即时编译控制参数
-XX:CodeCacheMinimumFreeSpace=size 即时编译所需最小空闲空间,例如:-XX:CodeCacheMinimumFreeSpace=1024m
高级应用服务辅助参数
-XX:+HeapDumpOnOutOfMemoryError oom时dump错误信息,指定目录:-XX:HeapDumpPath=path
-XX:+PrintConcurrentLocks Control+Break事件打印juc锁信息,效果同 jstack
高级垃圾收集器参数
垃圾收集调控参数
-XX:+CMSClassUnloadingEnabled 使用cms收集器时允许卸载class
-XX:ConcGCThreads=threads 设置并发垃圾收集线程数 例如:-XX:ConcGCThreads=2
-XX:+DisableExplicitGC 禁用用户GC指令 System.gc().
-XX:+ExplicitGCInvokesConcurrent System.gc().执行并发GC,同UseConcMarkSweepGC 搭配
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses System.gc().执行并发GC ,GC期间卸载未使用class
-XX:InitialHeapSize=size 堆初始化空间大小,为0时大小默认为新生代和老年代分配的内存总和
-XX:InitialSurvivorRatio=ratio 存活区比率:公式S=Y/(R+2)
-XX:InitiatingHeapOccupancyPercent=percent 触发GC的堆使用百分比上限
-XX:MaxGCPauseMillis=time 理想最大GC安全停顿点停顿时间(目标值)
-XX:MaxMetaspaceSize=size 元空间(方法区实现1.8之前永久带)的最大空间
-XX:MetaspaceSize=size 元空间GC触发空间大小阈值
-XX:NewRatio=ratio Y/O 分配比率
-XX:+PrintGCApplicationStoppedTime打印发生停顿时安全停顿持续时间
-XX:+PrintGCDetails 打印GC详细信息
-XX:SurvivorRatio=ratio E/S 分配比率
-XX:TLABSize=size 线程本地分配缓冲区大小
-XX:+UseTLAB 年轻代开启线程分配缓存
网友评论