首页/云/Kubernetes 速查/内存限制与运行时参数配合
本包目录(307 条)
kubectl 基础56 条工作负载36 条网络与服务55 条配置与存储54 条
调度与资源52 条
集群运维与排障54 条

内存限制与运行时参数配合

运行时按容器 limit 做自适应:JVM 读 cgroup 设定堆上限(MaxRAMPercentage 可微调),Go 1.19+ 提供 GOMEMLIMIT 软限,避免堆外尖峰撞上 OOMKilled。

Kubernetes 速查云更新于 2026-10-12

JVM 按容器内存设定堆

JVM 按容器内存设定堆
kubectl set env deploy/api JAVA_TOOL_OPTIONS='-XX:MaxRAMPercentage=70.0 -XX:InitialRAMPercentage=40.0'

Go 软内存上限

Go 软内存上限
env:
  - name: GOMEMLIMIT
    value: 400MiB   # 略低于容器 limit,留出运行时与栈空间
无论哪种运行时,堆上限都要低于容器 limit(给元空间、直接内存、线程栈与页面缓存留余量)。

易错点

  • 把堆上限设成等于容器 limit:元空间或直接内存一涨就 OOMKilled
  • 调整运行时参数前先看 lastState 与容器指标,区分容器 OOM 与节点压力

数据来源与参考

  • Kubernetes 官方文档 · 内存资源与 cgroup 感知(运行时行为)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌