常用参数
| 参数名称 | 含义 |
|---|---|
| -Xms | 初始堆大小 |
| -Xmx | 最大堆大小 |
| -Xmn | 年轻代大小 (for 1.4+) |
| -XX:NewSize | 设置年轻代大小 (for 1.3/1.4) |
| -XX:MaxNewSize | 年轻代最大值 (for 1.3/1.4) |
| -XX:PermSize | 设置持久代 (perm gen) 初始值 |
| -XX:MaxPermSize | 设置持久代最大值 |
| -Xss | 每个线程的堆栈大小 |
| -XX:ThreadStackSize | Thread Stack Size |
| -XX:NewRatio | 年轻代 (包括 Eden 和两个 Survivor 区) 与年老代的比值 (除去持久代) |
| -XX:SurvivorRatio | Eden 区与 Survivor 区的大小比值 |
| -XX:LargePageSizeInBytes | 内存页的大小不可设置过大, 会影响 Perm 的大小 |
| -XX:+UseFastAccessorMethods | 原始类型的快速优化 |
| -XX:+DisableExplicitGC | 关闭 System.gc () |
| -XX:MaxTenuringThreshold | 垃圾最大年龄 |
| -XX:+AggressiveOpts | 加快编译 |
| -XX:+UseBiasedLocking | 锁机制的性能改善 |
| -Xnoclassgc | 禁用垃圾回收 |
| -XX:SoftRefLRUPolicyMSPerMB | 每兆堆空闲空间中 SoftReference 的存活时间 |
| -XX:PretenureSizeThreshold | 对象超过多大是直接在旧生代分配 |
| -XX:TLABWasteTargetPercent | TLAB 占 eden 区的百分比 |
| -XX:+CollectGen0First | FullGC 时是否先 YGC |
并行收集器相关
| 参数名称 | 含义 |
|---|---|
| -XX:+USEPARALLELGC | FULL GC 采用 PARALLEL MSC (此项待验证) |
| -XX:+UseParNewGC | 设置年轻代为并行收集 |
| -XX:ParallelGCThreads | 并行收集器的线程数 |
| -XX:+UseParallelOldGC | 年老代垃圾收集方式为并行收集 (Parallel Compacting) |
| -XX:MaxGCPauseMillis | 每次年轻代垃圾回收的最长时间 (最大暂停时间) |
| -XX:+UseAdaptiveSizePolicy | 自动选择年轻代区大小和相应的 Survivor 区比例 |
| -XX:GCTimeRatio | 设置垃圾回收时间占程序运行时间的百分比 |
| -XX:+ScavengeBeforeFullGC | Full GC 前调用 YGC |
CMS 相关
| 参数名称 | 含义 |
|---|---|
| -XX:+USECONCMARKSWEEPGC | 使用 CMS 内存收集 |
| -XX:+AggressiveHeap | |
| -XX:CMSFullGCsBeforeCompaction | 多少次后进行内存压缩 |
| -XX:+CMSParallelRemarkEnabled | 降低标记停顿 |
| -XX+UseCMSCompactAtFullCollection | 在 FULL GC 的时候, 对年老代的压缩 |
| -XX:+UseCMSInitiatingOccupancyOnly | 使用手动定义初始化定义开始 CMS 收集 |
| -XX:CMSInitiatingOccupancyFraction=70 | 使用 cms 作为垃圾回收 使用 70%后开始 CMS 收集 |
| -XX:CMSInitiatingPermOccupancyFraction | 设置 Perm Gen 使用到达多少比率时触发 |
| -XX:+CMSIncrementalMode | 设置为增量模式 |
| -XX:+CMSClassUnloadingEnabled |
打印信息
| 参数名称 | 含义 |
|---|---|
| -XX:+PRINTGC | |
| -XX:+PrintGCDetails | |
| -XX:+PrintGCTimeStamps | |
| -XX:+PrintGC:PrintGCTimeStamps | |
| -XX:+PrintGCApplicationStoppedTime | 打印垃圾回收期间程序暂停的时间。可与上面混合使用 |
| -XX:+PrintGCApplicationConcurrentTime | 打印每次垃圾回收前,程序未中断的执行时间。可与上面混合使用 |
| -XX:+PrintHeapAtGC | 打印 GC 前后的详细堆栈信息 |
| -Xloggc:filename | 把相关日志信息记录到文件以便分析。与上面几个配合使用 |
| -XX:+PrintClassHistogram | garbage collects before printing the histogram. |
| -XX:+PrintTLAB | 查看 TLAB 空间的使用情况 |
| XX:+PrintTenuringDistribution | 查看每次 minor GC 后新的存活周期的阈值 |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至feicyblog@hotmail.com