Memory cgroup out of memory: Kill process 545486 (python3) score 2016 or sacrifice child Killed process 545486 (python3) total-vm:579096kB, anon-rss:518892kB, file-rss:16952kB
此节点记录日志,并且我的容器持续不断地随机重启。运行带有4个副本的python cotnainer。
Python应用程序包含带有烧瓶的套接字。 Docker映像包含python3.5:slim
Kubectl get nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gke-XXXXXXX-cluster-highmem-pool-gen2-f2743e02-msv2 682m 17% 11959Mi 89%
今天早上的节点日志:0/1 nodes are available: 1 Insufficient cpu.
但是节点CPU使用率仅为17%
吊舱内部没有很多东西。
答案 0 :(得分:0)
看看best practices,并尝试调整CPU和memory的资源请求和限制。如果您的应用开始达到CPU限制,Kubernetes将开始限制您的容器。由于无法限制内存使用量,因此,如果容器超出其内存限制,则它将终止(并重新启动)。因此,使用适当的限制应该可以帮助您解决容器重启的问题。
在request of your container exceeded limits情况下,Kubernetes将抛出一个错误,类似于您遇到的错误,并且将不允许您运行该容器。
调整限制后,您可以使用一些监视系统(例如Stackdriver)来查找潜在的内存泄漏原因。