# 启动参数
- 以
-
开头:标准参数,所有JVM需要实现 - 以
-X
开头:非标准参数,传给JVM,默认JVM会实现这些功能,但不保存向后兼容及所有JVM实现都满足 - 以
-XX:
开头:非稳定参数,专门用于控制JVM行为,与具体实现有关,随时可能取消 - 以
-XX:+-Flags
形式:+-
是对布尔值的开关 - 以
-XX:key=value
形式:指定某个选项的值
# 设置系统属性
系统属性:-Dkey=value
:
命令行参数
查看所有系统属性:java -XshowSettings:properties -version
查看VM配置:java -XshowSettings:vm - version
# Agent属性
-agentlib:libname[=options]
启动native方式的agent
-agentpath:pathname[=options]
启动nagive方式的agent
-javaagent:jarpath[=options]
启动外部agent库
-Xnoagent
禁用所有agent
# 运行模式
-server
-client
-Xint
:解释模式下,强制解释执行所有字节码-Xcomp
:变异模式,第一次使用时把所有字节码编译成本地代码-Xmixed
:混合模式
# GC相关
-verbose:gc
:在GC日志中输出详细的GC信息-XX:+printGCDetails
和-XX:+PrintgCTimestamps
:打印GC细节与发生时间-Xloggc:file
与-verbose:gc
:每次GC事件相关情况记录到文件
# 垃圾收集相关参数
-XX:+UseG1GC
;G1垃圾回收器
-XX:+UseConcMarkSweeepGC
:使用CMS垃圾收集器
-XX:+UseSerialGC
:使用串行垃圾回收器
+XX:+UseParallelGC
:使用并行垃圾回收器
# 设置堆内存
-Xmx
:最大堆内存,通常设置为可用内存的70~80%
-Xms
:堆内存初始大小
-Xmn
:等价于-XX:NewSize
,非G1收集器配置
-XX:MaxPermSize=size
-XX:MaxMetaspaceSize=size
:
-XX:MaxDirectMemorySize=size
:最大堆外内存
-Xss
:每个线程栈的字节数
# 其它
← 性能诊断 Arthas运行原理 →