当前位置: 首页 > news >正文

JVM配置参数小记

4C * 16G java -Xms8g -Xmx8g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError

分析(ai)

  • 内存:16G物理机分配8G堆,留出了8G给系统。对于现代Java应用(特别是微服务),8G堆是一个比较舒适的配置,可以容纳较多的对象,减少GC频率。

  • 线程:CPU只有4核,将GC并发线程设置为2(约为ParallelGCThreads的1/4~1/2),留出了一半的CPU给业务线程,这个配比很经典,既保证了GC效率,又不至于完全阻塞业务

4C * 10G java -Xms6g -Xmx6g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError
  • 分析(ai)

    • 内存配比合适(留4G给系统/元空间/堆外)。

    • 线程数没有变化(因为CPU还是4C),这符合逻辑。GC线程数只与CPU核心数强相关,与内存大小无关。

4C * 8G java -Xms4g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError

分析(ai)

  • 4C/8G是生产环境比较常见的低配机型。分配4G堆内存是比较安全的,剩下4G留给操作系统和JVM自身(Direct Memory、Stack、Metaspace)。

  • G1GC在4G堆上的表现:虽然G1的设计初衷是面向大堆(>6G),但在4G堆上表现也不错。只是如果应用的对象分配速率很高,4G堆可能依然会面临较频繁的Mixed GC。

2C * 8G java -Xms4g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:ParallelGCThreads=2 -XX:ConcGCThreads=1 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError
  • 分析(ai)

    • CPU:将ParallelGCThreads降为2,ConcGCThreads降为1,这步做得非常到位。在2C环境下如果用4个GC线程,CPU调度会频繁"吵架"(上下文切换),导致应用卡顿。降低线程数能保证GC工作平稳进行。

    • 内存风险提示

      • CPU/内存失衡:2C的处理能力有限,但分配了4G堆。如果该应用流量较大,2C的CPU可能无法及时处理业务逻辑 + GC标记/清理工作,容易出现CPU负载持续飙高的情况。

      • 建议:如果实际流量很大,在2C环境下,4G堆可能"吃不完"(处理不过来),反而会因为CPU瓶颈导致应用变慢。如果能降为-Xms2g -Xmx2g可能更安全(留更多CPU给GC和业务平衡),但具体取决于业务对象大小。

备注:JDK 8u131+ 引入了 -XX:+UseContainerSupport,在 JDK 8u191+ 后默认开启;使用较新JDK,可以考虑添加-XX:InitialRAMPercentage-XX:MaxRAMPercentage来替代固定的-Xms -Xmx,让JVM自动根据容器内存计算堆大小(例如-XX:MaxRAMPercentage=80.0)。这样做的好处是:如果未来容器内存配置微调(比如16G变成14G),不用改启动参数。

http://www.jsqmd.com/news/500730/

相关文章:

  • 计算机毕业设计springboot社团活动管理系统 基于SpringBoot的高校社团数字化运营平台 SpringBoot框架下的学生社团协同管理系统
  • 电力电子新手必看:电压型与电流型逆变电路的区别与选型指南
  • 从管道工到网络专家:用生活案例讲透烽火ANM2000的SVLAN/CVLAN配置
  • Ostrakon-VL-8B效果展示:低照度夜市摊位图像中招牌文字92%还原准确率
  • QGIS搭配QuickOSM:免费获取全球矢量地理数据的实战指南(道路、水域、行政边界)
  • HDR图像处理中的‘遮蔽与燃烧‘技术:从150年摄影史到现代算法实现
  • 2026年期货量化软件代码可读性排名_维护成本对比
  • 给机器人看《资本论》:它组织首次罢工
  • AD9253高速ADC实战指南:SPI寄存器配置与数字采集系统搭建
  • 安装AndroidStuido
  • 2026年网易企业邮箱联系电话及最新报价一键获取 - 品牌2025
  • STM32F407+OV7670图像采集实战:从硬件连接到DCMI配置全流程解析
  • 深入解析VS中C#语言版本与.NET Core版本的查看与配置技巧
  • 霜儿-汉服-造相Z-Turbo多模态扩展初探:结合语音描述生成汉服形象
  • 《OpenClaw架构与源码解读》· 第 14 章 安全模型:把 AI 放在家里但不「放飞」它
  • 2026年陕西防静电地板选型指南:机房建设、净化车间、全钢/陶瓷/PVC地板,众鑫设备一站式服务解析 - 海棠依旧大
  • wvp-GB28181-pro多端口模式实战:如何用30000-30500端口实现高并发级联?
  • 陪跑300多家客户总结出的餐饮小红书账号起号逻辑 - Redbook_CD
  • 2026年好用的农产品礼盒包装推荐厂商,费用大概多少钱 - myqiye
  • PP-DocLayoutV3法律文书智能解析实战
  • 支付宝立减金线上回收秘诀:安全、便捷又高价! - 团团收购物卡回收
  • 新手友好:通过快马生成的交互示例快速理解openclaw项目重启流程
  • RetinaFace应用解析:如何快速检测人脸并绘制关键点
  • 2026年硅胶镀膜厂家推荐,惠州韧达纳米在长三角等地表现亮眼 - 工业品网
  • Linux 命令:ln — 文件链接命令
  • 2026气动卡套接头产业白皮书:国产替代深水区,谁在定义连接标准 - 呼呼拉呼
  • FireRedASR-AED-L结合Transformer优化语音识别错误检测效果
  • 热议好用的雨水收集系统公司,虹吸排水、蓄水模块、雨水过滤哪个品牌比较靠谱? - 深度智识库
  • shacct.dll文件丢失找不到 免费下载修复方法分享
  • 2026年惠州、苏州、北海线路板防水厂家推荐,韧达纳米靠谱之选 - 工业推荐榜