k8s:pod被kill,显示command terminated with exit code 137

文章目录

  • 错误说明
  • 可能的原因
  • 遇到的一个情况

错误说明

在 Linux 中,进程退出码 137 表示 进程因 SIGKILL 信号 (signal 9) 被杀死,其计算方式如下:
137=128+9

128:Linux 规定,如果进程因信号终止,退出码就是 128 + 信号编号。
9 (SIGKILL):表示 进程被强制终止(通常由 kill -9、OOM Killer 或 systemd 触发)。

可能的原因

  • 手动 kill -9 pid 终止进程
  • 系统 OOM Killer 触发
    当系统内存不足,Linux OOM Killer 可能会杀死占用内存过多的进程。
    通过 dmesg | grep -i “oom” 检查 OOM 记录。
  • 容器 (Docker/K8s) 超过资源限制
    Kubernetes:可能因 CPU/内存超限,检查 kubectl describe pod 。
    Docker:可能因 --memory 限制导致 OOM。
  • systemd 或 ulimit 约束
    ulimit -a 查看系统资源限制,可能是 进程超时或资源受限 导致。

解决方法
检查日志:dmesg -T | grep -i “killed” 查看是否是

你可能感兴趣的:(云平台运维,kubernetes,容器,云原生)