【问题标题】:Resource consumption inside a Docker containerDocker 容器内的资源消耗
【发布时间】:2017-11-13 09:29:18
【问题描述】:
CONTAINER      CPU %    MEM USAGE / LIMIT     MEM %    NET I/O             BLOCK I/O           PIDS
48c16e180af6   0.20%    91.48MiB / 31.31GiB   0.29%    3.86kB / 0B         85.3MB / 0B         33
f734efe5a249        0.00%    472KiB / 31.31GiB     0.00%    3.97kB / 0B         12.3kB / 0B         1
165a7b031093        0.00%    480KiB / 31.31GiB     0.00%    9.49kB / 0B         3.66MB / 0B         1

有谁知道如何在其运行环境中获取特定 Docker 容器的资源消耗?

在容器之外,我们可以通过键入命令“docker stats”轻松获取它。此外,如果我尝试获取容器内的资源消耗,它将获取容器运行所在的物理计算机的消耗(RAM、CPU)。 另一种选择是使用 'htop' 命令,但与 'docker stats' 命令相比,它并没有准确显示结果。

【问题讨论】:

  • 您的容器是否以特权模式运行?
  • 如果容器运行在特权模式下,如何进一步处理?
  • 既然你提到你是在一个容器内运行一个容器,那可以通过docker特权模式ryt来实现吗?
  • 不,我只执行一个容器并希望在不使用“docker stats”的情况下获取它的消耗,这意味着容器外部。
  • 这意味着您应该获取驻留在主机中的 docker 组件的统计信息,而不是容器?

标签: docker containers docker-machine docker-container


【解决方案1】:

如果你想要容器内部的进程消耗,你可以进入容器并监控进程。

docker exec -it <container-name> watch ps -aux

请注意,运行上述命令后,容器不知道任何 docker 进程正在运行。

【讨论】:

  • 容器被视为计算机。因此,我需要监控它的性能以及它内部的资源消耗。例如,运行“docker run -it ”或“docker exec -it ”后,会显示为“root@48c16e180af6:/root#”,所有动作都必须在里面执行正在运行的容器。您的建议确实监控 docker 容器信息,但它在容器外部,但它监控容器内运行的进程
猜你喜欢
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
  • 2016-09-26
  • 2016-05-24
  • 2020-03-23
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
相关资源
最近更新 更多