Linux 的 nproc 命令

张开发
2026/4/12 9:43:50 15 分钟阅读

分享文章

Linux 的 nproc 命令
nproc是一个 Linux 命令行工具用于显示当前进程可用的处理器单元CPU核心数量。这个命令属于 GNU Coreutils 工具集的一部分在大多数 Linux 发行版中默认安装。基本用法查看可用 CPU 核心数最简单的用法是直接输入命令nproc这将返回一个数字表示当前系统可用的 CPU 核心总数。例如在 4 核 CPU 的系统上会显示4命令选项nproc支持以下常用选项--all或--ignore显示系统安装的所有 CPU 核心数不考虑任何限制示例nproc --all--ignoreN忽略指定数量的 CPU 核心这在测试应用程序在不同 CPU 核心数下的表现时很有用示例nproc --ignore1显示比实际少 1 个核心的数量实际应用场景1. 脚本中的动态资源分配#!/bin/bashCORES$(nproc)echo使用$((CORES-1))个核心运行任务..../compute_task--threads$((CORES-1))2. 并行编译软件make-j$(nproc)3. 容器资源限制检查在 Docker 或 Kubernetes 环境中检查可用资源echo容器可用的 CPU 核心数:$(nproc)技术细节nproc读取以下系统信息/proc/cpuinfo文件当前进程的 CPU 亲和性设置通过sched_getaffinity()系统调用任何通过cgroups或容器环境施加的限制与相关命令的比较lscpu提供更详细的 CPU 架构信息grep -c processor /proc/cpuinfo另一种获取核心数的方法getconf _NPROCESSORS_ONLNPOSIX 兼容的替代方案注意事项在虚拟化或容器环境中nproc可能返回与物理主机不同的值反映的是分配给当前环境的资源。某些系统可能通过cgroups限制 CPU 使用此时nproc --all和nproc的结果会不同。对于超线程Hyper-Threading处理器nproc返回的是逻辑处理器数量而非物理核心数。

更多文章