在 Docker 或更广泛的 Linux 容器环境中,提到的 vCPU(virtual CPU) 通常指的是 线程 数目,而不是物理核心数目。
🔍 解释:
- vCPU(Virtual CPU) 是虚拟化中的一个概念,表示分配给容器或虚拟机的一个逻辑 CPU。
- 在现代 CPU 中,通过 超线程技术(Hyper-Threading),每个物理核心可以提供两个逻辑 CPU(即两个线程)。
- 因此,1 vCPU ≈ 1 个逻辑处理器(线程),而不是物理核心。
🐳 在 Docker 中如何限制 CPU 资源?
Docker 使用 --cpus 参数来限制容器可以使用的 CPU 资源,这个参数指定的是 最大可用的 vCPU 数量。例如:
docker run -d --name my_container --cpus="2" my_image
这表示该容器最多可以使用 2 个 vCPU(即两个逻辑线程) 的 CPU 时间。
🧠 补充说明:
| 概念 | 含义 |
|---|---|
| 物理 CPU | 实际插在主板上的处理器芯片 |
| 核心(Core) | 每个物理 CPU 上的独立处理单元 |
| 线程(Thread) / 逻辑 CPU | 每个核心通过超线程技术可提供多个线程 |
| vCPU | 虚拟化环境中的逻辑 CPU,通常对应一个线程 |
✅ 总结:
Docker 中的 vCPU 指的是线程数,而非物理核心数。
如果你查看 /proc/cpuinfo 或使用 lscpu 命令,可以看到系统中线程、核心和套接的数量,帮助你判断资源分配情况。
如需进一步了解如何查看当前系统的 CPU 架构,我也可以帮你分析。
CLOUD技术博