# 启动参数

  • -开头:标准参数,所有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:每个线程栈的字节数

# 其它

上次更新: : 7 months ago