要了解 Docker 容器使用了多少 CPU,有几种常见方法可以参考:
一、在容器内部查看可用 CPU 核心数量
进入容器后,可以使用以下命令查看容器可以使用的 CPU 核心数量:
查看容器允许使用的核心范围
cat /sys/fs/cgroup/cpuset/cpuset.cpus
这个文件显示容器被限制的 CPU 核心,比如 0-2
表示只允许用第 0 到第 2 个核心。如果这个文件为空或显示所有核心,说明容器没有 CPU 限制,可以使用主机的全部核心。
查看容器中实际能看到的核心数
lscpu
:查看 CPU 信息,其中 CPU(s)
一行显示当前能看到的核心数。nproc
:快速输出当前可用的处理器数量。cat /proc/cpuinfo | grep processor | wc -l
:统计处理器数量,效果和 nproc
类似。二、在宿主机查看容器的 CPU 限制设置
查看容器配置
docker inspect <容器ID或名称>
查看输出中的 "CpusetCpus"
字段,这里会显示容器被限制使用的具体 CPU 编号。
查看主机 CPU 核心数
cat /proc/cpuinfo
可用于了解宿主机总共有哪些核心,从而判断容器是否被限制。
三、实时查看容器的 CPU 使用情况
使用 Docker 提供的统计命令
docker stats
可以实时看到容器的 CPU 使用率(百分比),但不会显示具体用了多少核心。
总结表
目的 | 命令 | 说明 |
---|---|---|
查看可用核心范围 | cat /sys/fs/cgroup/cpuset/cpuset.cpus | 显示容器允许使用的核心编号 |
查看容器中核心数 | lscpu / nproc / cat /proc/cpuinfo | 显示容器中可见的核心数量 |
查看容器限制配置 | docker inspect | 查 CpusetCpus 字段看是否有限制 |
查看主机核心信息 | cat /proc/cpuinfo | 显示宿主机全部核心 |
实时看使用率 | docker stats | 查看当前 CPU 使用百分比 |
通过以上方法,你可以判断 Docker 容器当前使用了多少个 CPU 核心,是否有限制,并了解其实际的使用情况。