大规格实例Gitlab Runner K8s Pod中Node进程OOM被cgroup杀死问题
GitLab Runner K8s Pod任务大规格实例OOM失败问题
- 流水线任务仅在m5*.large规格实例(2vCPU、8GB内存)上能成功完成;在m5d*.2xlarge规格实例(8vCPU、32GB内存)上,会因内存不足(OOM)失败,node进程被cgroup杀死。
- 已为build、helper、services容器设置资源限制,但增大build容器资源分配后,大规格实例上node进程的内存消耗同步升高,问题未解决。
- CPU表现差异:大规格实例中vCPU分配越多,CPU消耗越高,CPU节流(CPU Throttling)持续维持在100%;小规格实例的CPU节流从未超过3%。
- 尝试通过
NODE_OPTIONS指定node进程最大内存使用量(1GB、1.5GB、3GB),但配置未生效。
环境信息
- Node版本:v16.19.0
- 平台:amzn2.x86_64
任务运行主机日志
"message": "oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=.... .... "message": "Memory cgroup out of memory: Killed process 16828 (node) total-vm:1667604kB
资源请求/限制配置
memory_request = "1Gi" memory_limit = "4Gi" service_cpu_request = "100m" service_cpu_limit = "500m" service_memory_request = "250Mi" service_memory_limit = "2Gi" helper_cpu_request = "100m" helper_cpu_limit = "250m" helper_memory_request = "250Mi" helper_memory_limit = "1Gi"
资源消耗对比
m5d.large实例上成功任务的资源消耗

m5d.2xlarge实例上失败任务的资源消耗

内容的提问来源于stack exchange,提问作者Rshad Zhran
相关产品推荐
相关产品推荐

