【发布时间】:2017-12-16 09:05:10
【问题描述】:
我正在尝试解决与 docker 容器有关的问题以及与托管应用程序的某种交互问题。
我正在运行 docker 容器,并且正在监视 docker stats。
我看到CPU% 上升到了5000.02%。这是什么意思?
注意:我没有对容器进行任何配置或调整。那么这是否意味着它需要所有核心或仅 1 个核心或什么?
【问题讨论】:
标签: java multithreading docker cpu
我正在尝试解决与 docker 容器有关的问题以及与托管应用程序的某种交互问题。
我正在运行 docker 容器,并且正在监视 docker stats。
我看到CPU% 上升到了5000.02%。这是什么意思?
注意:我没有对容器进行任何配置或调整。那么这是否意味着它需要所有核心或仅 1 个核心或什么?
【问题讨论】:
标签: java multithreading docker cpu
根据docker文档默认情况下,每个容器对宿主机CPU周期的访问是无限制的。
您可以通过configuring default CFS scheduler进行限制。
要解决问题,您需要 ssh 进入容器并找出消耗所有 cpu 的进程。
为此执行
docker exec -it YOUR-CONTAINER-ID /bin/bash
然后执行top 命令(documentation)。您将获得有关容器中运行的每个进程的详细统计信息,您将了解导致问题的原因。
【讨论】:
top有什么区别?
top 时,您将获得有关主机上运行的进程的信息。但容器内启动的进程不会在此处列出。
top 的docker - process- threads A etc 之类的东西