【问题标题】:Fail docker container after cpu limitcpu限制后docker容器失败
【发布时间】:2018-05-18 20:23:24
【问题描述】:

我正在运行一个 java 进程作为 docker swarm 服务。但该服务最终占用了我的 CPU。我尝试将 CPU 限制设置为 1,并且 docker stats 显示该容器 100% 一致,但我想使该容器失败 95% 并重新创建。有什么办法可以做到吗?

提前致谢。

【问题讨论】:

  • 那么,CPU高于95%需要重启容器吗?
  • @ConstantinGalbenu 是的,没错。

标签: docker ubuntu-16.04 devops docker-swarm


【解决方案1】:

CPU 是一种可压缩资源,与内存不同。当内存请求超过限制时,内核将终止应用程序。当 CPU 超过限制时,内核只会让该进程在 CPU 上的时间减少,并且运行速度会变慢。

没有内置功能可以更改此行为。您需要实施某种形式的外部监控,以便在超过阈值时终止容器。

很可能,您真正想要的是为您的容器设置一个运行状况检查,以检测应用程序变得无响应。您需要使用 swarm 模式运行容器,以自动重新创建运行状况检查失败的容器。

【讨论】:

    猜你喜欢
    • 2021-03-29
    • 2014-12-08
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多