# 启动参数
- 以
-开头:标准参数,所有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运行原理 →