You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JVM参数UseContainerSupport计算内存时使用limits还是requests?

JVM -XX:+UseContainerSupport 与Kubernetes资源参数的关联

当启用-XX:+UseContainerSupport参数时,JVM会根据容器环境的资源配置自动计算内存参数,具体使用Kubernetes的limits还是requests,核心取决于JDK版本和配置情况:

  • JDK 8u191+ / JDK 11+(默认行为)

    • 若同时配置了limits.memory和requests.memory,JVM优先以**limits.memory**作为内存计算的基准值,结合-XX:MaxRAMPercentage(默认25%)等比例参数分配堆内存。
    • 若仅配置了requests.memory未设置limits.memory,JVM会使用requests.memory作为计算基准。
  • JDK 8u131~8u190(早期容器支持版本)

    • 此阶段仅识别容器的cgroup内存限制(对应Kubernetes的limits.memory),不会读取requests.memory。若未设置limits.memory,JVM可能误将宿主机内存当作可用资源,引发OOM风险。
  • 自定义参数覆盖

    • 若手动指定了-Xmx、-Xms这类固定内存参数,-XX:+UseContainerSupport的自动计算逻辑会被忽略,不再参考Kubernetes的limits或requests。

内容的提问来源于stack exchange,提问作者siom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:30:57