刘华
实验室:JS测试器
分类专栏
hadoop2篇
mysql1篇
nginx8篇
java5篇
架构设计3篇
信息安全6篇
前端开发2篇
数据同步6篇
AI7篇
其他9篇

Docker 之 cannot allocate memory

liuhua-2024/2/21 17:42:37

docker在启动容器时出现cannot allocate memory的错误,是由于docker默认使用了cgroup的kmem accounting特性,这个特性在linux内核3下,存在bug,无法有效的进行回收;如果容器出现频繁的关闭/启动,就会使cgroup的可分配内存越来越少,直到最终耗尽。

解决的办法:

1、临时解决的办法是重启服务器。

2、永久解决的办法是:

(1)升级linux内核,

(2)禁用cgroup的kmem特性,

(3)重新编译k8s或docker的runc,不使用kmemtex。

详见博文:https://www.modb.pro/db/212312


小钉 京ICP备16032583号-1