java基础之常用 JVM 参数详解
控制参数
- -Xms设置堆的最小空间大小,默认物理内存的1/64(常见:-Xms512M)。
- -Xmx设置堆的最大空间大小,默认物理内存的1/4(常见:-Xms2G)。
- -XX:NewSize设置新生代最小空间大小。
- -XX:MaxNewSize设置新生代最大空间大小。
- -XX:PermSize设置永久代最小空间大小,默认为物理内存的1/64(常见:-XX:PermSize=128M)。
- -XX:MaxPermSize设置永久代最大空间大小,默认物理内存的1/4(常见:-XX:MaxPermSize=256M)。
- -Xss设置每个线程的堆栈大小,jdk1.5及之后默认1M,之前默认256k(常见:-Xss512k)。
其它参数:
参数 |
说明 |
实例 |
-Xmn |
新生代内存大小,官方推荐为整个堆的3/8 |
-Xmn512M |
-XX:NewRatio=n |
设置新生代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 |
-XX:NewRatio=3 |
-XX:SurvivorRatio=n |
年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:8,表示Eden:Survivor=8:1:1,一个Survivor区占整个年轻代的1/8 |
-XX:SurvivorRatio=8 |
-verbose:class |
在控制台打印类加载信息 |
|
-verbose:gc |
在控制台打印垃圾回收日志 |
|
-XX:+PrintGC |
打印GC日志,内容简单 |
|
-XX:+PrintGCDetails |
打印GC日志,内容详细 |
|
-XX:+PrintGCDateStamps |
在GC日志中添加时间戳 |
|
-Xloggc:filename |
指定gc日志路径 |
-Xloggc:/data/jvm/gc.log |
-XX:+UseSerialGC |
年轻代设置串行收集器Serial |
|
-XX:+UseParallelGC |
年轻代设置并行收集器Parallel Scavenge |
|
-XX:ParallelGCThreads=n |
设置Parallel Scavenge收集时使用的CPU数。并行收集线程数。 |
-XX:ParallelGCThreads=4 |
-XX:MaxGCPauseMillis=n |
设置Parallel Scavenge回收的最大时间(毫秒) |
-XX:MaxGCPauseMillis=100 |
-XX:GCTimeRatio=n |
设置Parallel Scavenge垃圾回收时间占程序运行时间的百分比。公式为1/(1+n) |
-XX:GCTimeRatio=19 |
-XX:+UseParallelOldGC |
设置老年代为并行收集器ParallelOld收集器 |
|
-XX:+UseConcMarkSweepGC |
设置老年代并发收集器CMS |
|
-XX:+CMSIncrementalMode |
设置CMS收集器为增量模式,适用于单CPU情况。 |
|