【问题标题】:What does a very high cpu% in docker stats indicate?docker stats 中非常高的 cpu% 表示什么?
【发布时间】:2017-12-16 09:05:10
【问题描述】:

我正在尝试解决与 docker 容器有关的问题以及与托管应用程序的某种交互问题。
我正在运行 docker 容器,并且正在监视 docker stats
我看到CPU% 上升到了5000.02%。这是什么意思?
注意:我没有对容器进行任何配置或调整。那么这是否意味着它需要所有核心或仅 1 个核心或什么?

【问题讨论】:

    标签: java multithreading docker cpu


    【解决方案1】:

    根据docker文档默认情况下,每个容器对宿主机CPU周期的访问是无限制的。

    您可以通过configuring default CFS scheduler进行限制。

    要解决问题,您需要 ssh 进入容器并找出消耗所有 cpu 的进程。

    为此执行

    docker exec -it YOUR-CONTAINER-ID /bin/bash
    

    然后执行top 命令(documentation)。您将获得有关容器中运行的每个进程的详细统计信息,您将了解导致问题的原因。

    【讨论】:

    • 我的容器中的唯一进程不是我的托管应用程序吗?出于某种原因,当我在 docker 中运行它时,它似乎变成了一个 cpu hog。单机从来没有过类似的问题。
    • 可能是的。但我不知道你的应用程序,可能是它启动了包含的多个进程。
    • 在托管/运行容器的服务器上做top有什么区别?
    • 当您在主机上运行top 时,您将获得有关主机上运行的进程的信息。但容器内启动的进程不会在此处列出。
    • 但我在分叉顺序中看到来自topdocker - process- threads A etc 之类的东西
    猜你喜欢
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多