博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle JDK 垃圾收集调优
阅读量:2431 次
发布时间:2019-05-10

本文共 1296 字,大约阅读时间需要 4 分钟。

使用 Oracle 的 JDK 时,垃圾收集性能调优的目标是减少执行 Full GC 周期所需的时间。不应该尝试调整 JVM 来最小化 Full GC 的频率,因为这通常会导致在必须要强制执行Full GC时需要长达数秒才能完成。

在生产服务器的整个生命周期内实现较短垃圾收集时间的最简单和最可靠的方法是使用固定堆大小的收集器和并行年轻代收集器,将新生代大小限制为总堆的最多三分之一。

Oracle 建议使用垃圾优先 (G1) 垃圾收集器。

对于大多数生产引擎服务器(production engine servers),建议使用以下示例 JVM 设置:

-server -Xms24G -Xmx24G -XX:PermSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70

对于生产副本服务器(production replica servers),请使用示例设置:

-server -Xms4G -Xmx4G -XX:PermSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70

对于独立安装(standalone installations),请使用示例设置:

-server -Xms32G -Xmx32G -XX:PermSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70

以上选项的作用如下:

  • -Xms, -Xmx:设置堆大小的边界值以增加垃圾收集的可预测性。副本服务器中的堆大小受到限制,因此即使 Full GC 也不会触发 SIP 重传。-Xms设置起始大小以防止堆扩展引起的暂停。

  • -XX:+UseG1GC:使用垃圾优先 (G1) 收集器。

  • -XX:MaxGCPauseMillis:设置最大 GC 暂停时间的目标。这是一个软目标,JVM 将尽最大努力实现它。

  • -XX:ParallelGCThreads:设置垃圾收集器并行阶段使用的线程数。默认值因运行 JVM 的平台而异。

  • -XX:ConcGCThreads:并发垃圾收集器将使用的线程数。默认值因运行 JVM 的平台而异。

  • -XX:InitiatingHeapOccupancyPercent:启动并发 GC 周期的堆(整个)占用百分比。触发并发 GC 周期的 GC (包括 G1)使用此选项,基于整个堆的占用率而不只是其中一代的占用率。值 0 表示“执行恒定的 GC 循环”。默认值为 45。

转载地址:http://geamb.baihongyu.com/

你可能感兴趣的文章
【Java】【Web】JavaWeb相关知识总结 2018-9-17
查看>>
【数据库】突破单一数据库的性能限制——数据库-分库分表总结 2018-9-20
查看>>
Slurm——作业调度处理
查看>>
Lustre 维护
查看>>
Lustre—磁盘配额测试
查看>>
SSH加密密码中的非对称式密码学
查看>>
Mac Redis安装入门教程
查看>>
python3安装教程配置配置阿里云
查看>>
Mac快捷键和实用技巧
查看>>
Git的多人协作和分支处理测试
查看>>
mysql索引回表
查看>>
iterm2 保存阿里云登陆并防止断开连接
查看>>
brew安装
查看>>
mysql5.7初始密码查看及密码重置
查看>>
go语言实现2048小游戏(完整代码)
查看>>
动态二维码免费制作
查看>>
C语言贪吃蛇
查看>>
Python练手项目
查看>>
知网毕业论文爬取
查看>>
Django无法显示图片
查看>>