外观
知道哪些JVM参数
标准参数(Standard Options
)
这些是通用的 JVM
参数,所有 JVM 实现都支持。
-version
:显示 JVM 版本信息。java -version
-help
:显示帮助信息。java -help
-D<property>=<value>
:设置系统属性。java -DmyProp=value MyClass
-classpath
或-cp
:指定类路径。java -cp .;lib/* MyClass
堆内存相关参数(Heap Memory Options
)
用于配置 JVM
堆内存的大小和行为。
-Xms<size>
:设置初始堆大小。java -Xms512m MyClass
-Xmx<size>
:设置最大堆大小。java -Xmx1024m MyClass
-Xmn<size>
:设置年轻代(Young Generation
)大小。java -Xmn256m MyClass
-XX:NewRatio=<value>
:设置年轻代与老年代的比例。java -XX:NewRatio=2 MyClass
-XX:SurvivorRatio=<value>
:设置Eden
区与Survivor
区的比例。java -XX:SurvivorRatio=8 MyClass
垃圾回收相关参数(Garbage Collection Options
)
用于配置垃圾回收器的行为。
-XX:+UseSerialGC
:使用串行垃圾回收器。java -XX:+UseSerialGC MyClass
-XX:+UseParallelGC
:使用并行垃圾回收器。java -XX:+UseParallelGC MyClass
-XX:+UseG1GC
:使用G1
垃圾回收器。java -XX:+UseG1GC MyClass
-XX:+UseZGC
:使用ZGC
(低延迟垃圾回收器,Java 11+
)。java -XX:+UseZGC MyClass
-XX:+PrintGCDetails
:打印详细的垃圾回收日志。java -XX:+PrintGCDetails MyClass
-XX:+HeapDumpOnOutOfMemoryError
:在内存溢出时生成堆转储文件。java -XX:+HeapDumpOnOutOfMemoryError MyClass
性能调优参数(Performance Tuning Options
)
用于优化 JVM 性能。
-XX:+AggressiveOpts
:启用激进优化。java -XX:+AggressiveOpts MyClass
-XX:+UseLargePages
:启用大内存页支持。java -XX:+UseLargePages MyClass
-XX:+UseStringDeduplication
:启用字符串去重(G1 GC
)。java -XX:+UseStringDeduplication MyClass
调试和监控参数(Debugging and Monitoring Options
)
用于调试和监控 JVM
运行状态。
-Xloggc:<file>
:将GC
日志输出到文件。java -Xloggc:gc.log MyClass
-XX:+PrintFlagsFinal
:显示所有JVM
参数的最终值。java -XX:+PrintFlagsFinal MyClass
-XX:+HeapDumpOnOutOfMemoryError
:在内存溢出时生成堆转储文件。java -XX:+HeapDumpOnOutOfMemoryError MyClass
-XX:HeapDumpPath=<path>
:指定堆转储文件的路径。java -XX:HeapDumpPath=/path/to/dump MyClass
-XX:+PrintCommandLineFlags
:打印JVM
启动时使用的参数。java -XX:+PrintCommandLineFlags MyClass
其他常用参数
-Xss<size>
:设置线程栈大小。java -Xss512k MyClass
-XX:MaxMetaspaceSize=<size>
:设置元空间的最大大小(Java 8+
)。java -XX:MaxMetaspaceSize=256m MyClass
-XX:ReservedCodeCacheSize=<size>
:设置代码缓存大小。java -XX:ReservedCodeCacheSize=128m MyClass