更新时间:2025-08-30 GMT+08:00

工作负载异常:OOM问题

问题现象

若因OOM被终止的进程为容器的阻塞进程,可能会导致容器异常重启。

问题原因

容器不允许使用超过其限制的内存,超过后容器可能会被终止,触发OOM(Out Of Memory)事件,导致容器异常退出。关于OOM事件,可以参考为容器和Pod分配内存资源

解决方案

  1. 登录CCE控制台
  2. 单击集群名称进入集群,在左侧选择“监控中心”。如果您未开通监控中心,请根据页面提示开通监控中心,具体操作请参考开通监控中心
  3. 在右侧选择“Pod”页签,单击异常Pod名称,进入异常Pod页面,切换至“监控”页签。在监控页签中,可以查看Pod的CPU、内存、网络以及容器相关指标的监控信息。
  4. 通过容器内存监控查看内存增长曲线,确定异常容器和异常出现时间。
  5. 根据监控、内存增长时间点、日志、进程名等信息,排查Pod内对应进程是否存在内存泄漏。
    • 若OOM是进程内存泄漏导致,请您自行排查泄露原因。
    • 若进程运行状态正常,则根据实际运行需要,适当增大容器的内存配额,建议容器的内存实际使用量不超过内存配额的80%。具体操作如下:
      1. 在左侧导航栏单击“工作负载”,右侧单击目标工作负载操作列的“升级”
        图1 工作负载列表

      2. “升级工作负载”页面的“容器配置”模块,选择对应容器,单击“基本信息”,修改“内存配额”。其中,Pod的内存配额为所有容器配额之和,您可以在“规格确认”模块查看“单Pod资源规格”
        图2 修改内存配额

      3. 在右下角单击“升级工作负载”。当对应工作负载状态为运行中时,则说明修改内存配额成功。