JVM 的常见参数配置知道哪些?

JVM 的常见参数配置知道哪些?
一些常见的参数配置:
堆配置:
- -Xms: 设置初始堆大小
- -Xmx: 设置最大堆大小
- -XX:NewSize=n: 设置年轻代大小
- -XX:NewRatio=n: 设置年轻代和年老代的比值。例如,设置为3表示年轻代和年老代的比值为1:3,年轻代占整个堆内存的1/4
- -XX:SurvivorRatio=n: 设置年轻代中Eden区和两个Survivor区的比值。注意,有两个Survivor区。例如,设置为3表示Eden: 3 Survivor: 2,一个Survivor区占整个年轻代的1/5
- -XX:MaxPermSize=n: 设置持久代大小(Java 8及之前版本)
收集器设置:
- -XX:+UseSerialGC: 设置串行收集器
- -XX:+UseParallelGC: 设置并行收集器
- -XX:+UseParallelOldGC: 设置并行年老代收集器
- -XX:+UseConcMarkSweepGC: 设置并发标记-清除收集器
并行收集器设置:
- -XX:ParallelGCThreads=n: 设置并行收集器进行垃圾回收时使用的CPU线程数
- -XX:MaxGCPauseMillis=n: 设置并行收集器的最大暂停时间(如果达到该时间,垃圾回收器将停止回收)
- -XX:GCTimeRatio=n: 设置垃圾回收时间占程序运行时间的百分比。公式为:1/(1+n)
- -XX:+CMSIncrementalMode: 设置为增量模式,适用于单CPU情况
- -XX:ParallelGCThreads=n: 设置并行收集器年轻代收集方式为并行收集时使用的CPU线程数
打印GC回收的过程日志信息:
- -XX:+PrintGC
- -XX:+PrintGCDetails
- -XX:+PrintGCTimeStamps
- -Xloggc:filename