gpt4 book ai didi

docker - 消耗一定内存时重启docker

转载 作者:行者123 更新时间:2023-12-04 14:23:38 25 4
gpt4 key购买 nike

我有多个 docker 进程在一台机器上运行,我想监视它们并在超过特定内存阈值后重新启动 docker 进程。
我可以让 docker 在达到内存阈值时重新启动它的进程吗?
我的选择是什么?

谢谢

亚历克斯

最佳答案

您可以编写一个 shell 脚本来监视资源使用情况,并在达到内存限制时重新启动 Docker 守护程序,但我认为这实际上不是一个好方法。

使用此命令,您可以查看按内存使用情况排序的容器。找出哪个容器使用了过多内存并尝试找出原因,因为这种情况正在发生。
docker stats --no-stream --format "table {{.Name}}\t{{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}" | sort -k 4 -h
此外,如果您的容器的内存消耗正常,但您想限制它,您可以限制分配给每个容器的资源。您可以使用选项 --memory 执行此操作在 docker run .

有关内存限制的更多信息,请查看 Docker 文档中的此信息:https://docs.docker.com/engine/admin/resource_constraints/

希望这有帮助,祝你好运。

编辑:回答您的回答,如果您的容器内存不足,它将被内核自动杀死。您可以使用选项 --memory 配置内存限制并将重启策略设置为 --restart=always .这样,您的容器将因 OOM(内存不足)错误而自动终止,但它将重新启动,因为其重新启动策略是在出现任何错误后继续重新启动。

关于docker - 消耗一定内存时重启docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44669568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com