如何查看查看当前docker容器使用的cpu数量

574 阅读2分钟

要了解 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 inspectCpusetCpus 字段看是否有限制
查看主机核心信息cat /proc/cpuinfo显示宿主机全部核心
实时看使用率docker stats查看当前 CPU 使用百分比

通过以上方法,你可以判断 Docker 容器当前使用了多少个 CPU 核心,是否有限制,并了解其实际的使用情况。