在我的Kubernetes 1.11集群中,一个MySQL pod因Out of memory
问题而被杀死:
> kernel: Out of memory: Kill process 8514 (mysqld) score 1011 or
> sacrifice child kernel: Killed process 8514 (mysqld)
> total-vm:2019624kB, anon-rss:392216kB, file-rss:0kB, shmem-rss:0kB
> kernel: java invoked oom-killer: gfp_mask=0x201da, order=0,
> oom_score_adj=828 kernel: java
> cpuset=dab20a22eebc2a23577c05d07fcb90116a4afa789050eb91f0b8c2747267d18e
> mems_allowed=0 kernel: CPU: 1 PID: 28667 Comm: java Kdump: loaded Not
> tainted 3.10.0-862.3.3.el7.x86_64 #1 kernel
我的问题:
/proc/sys/vm/overcommit_memory
设置为0
?谢谢 SR
答案 0 :(得分:3)
定义Pod清单时,最好的做法是为CPU和内存使用resources
和limits
定义requests
节:
resources:
limits:
cpu: "1"
memory: 512Mi
requests:
cpu: 500m
memory: 256Mi
此定义可帮助调度程序识别三个服务质量(QoS)类别:
保证
可爆
尽力而为
和最后一个类别中的豆荚最消耗。