在我的Kubernetes 1.11集群中,由于Out of memory
问题导致MySQL pod被杀死:
> 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
定义Pod清单时,最佳做法是使用resources
和limits
为CPU和内存定义requests
部分:
resources:
limits:
cpu: "1"
memory: 512Mi
requests:
cpu: 500m
memory: 256Mi
此定义有助于调度程序识别三种服务质量(QoS)类别:
最后一类中的豆荚是最容易消耗的。