要查看 Linux 系统中有多少个 CPU 核心(即物理核心和逻辑核心的数量),可以使用多种方法。以下是几种常见的方法:
1. 使用 nproc
命令
nproc
是一个简单的命令,可以显示系统上可用的处理器核心数(包括物理和逻辑核心)。
nproc
输出将是一个整数,表示系统中 CPU 核心的总数量。例如,输出可能是 8
,表示系统有 8 个可用的 CPU 核心。
2. 查看 /proc/cpuinfo
文件
你可以查看 /proc/cpuinfo
文件,它包含了关于 CPU 的详细信息。
cat /proc/cpuinfo | grep processor | wc -l
这会输出系统中可用的逻辑核心数(每个线程都算作一个核心)。例如,如果输出为 8
,则表示系统有 8 个逻辑核心。
解释:
/proc/cpuinfo
是一个包含所有 CPU 信息的虚拟文件。grep processor
会查找每个 “processor” 字段,这每一行都代表一个 CPU 线程。wc -l
会统计 “processor” 字段的行数,即 CPU 核心的数量。
3. 使用 lscpu
命令
lscpu
命令可以显示 CPU 的架构信息,包括核心数、线程数等。
lscpu
输出中会显示一个名为 CPU(s) 的字段,表示系统中总的逻辑处理器数量。你还可以看到 Core(s) per socket(每个插槽的核心数)和 Thread(s) per core(每个核心的线程数)。
4. 使用 top
或 htop
命令
你也可以使用 top
或 htop
来查看当前的 CPU 使用情况。虽然这些工具本身不会直接显示 CPU 核心的数量,但它们会显示所有活跃的 CPU 核心。
top
在 top
输出中,CPU 核心数会显示在顶部,比如在 “Cpu(s)” 字段中。如果你希望更详细的信息,可以使用 htop
(需要安装)。
htop
htop
会显示每个核心的实时使用情况,通常会显示每个 CPU 核心(或线程)的条形图。
5. 使用 dmidecode
命令
dmidecode
可以显示系统硬件信息,包括 CPU 信息。这个命令需要 root 权限。
sudo dmidecode -t processor
输出中会显示处理器的相关信息,包括每个 CPU 核心的数量。
总结
为了知道你的系统上有多少个 CPU 核心,你可以使用以下命令中的任意一个:
nproc
cat /proc/cpuinfo | grep processor | wc -l
lscpu
这些命令会告诉你系统的逻辑核心数。如果你的 CPU 支持超线程(Hyper-Threading),那么逻辑核心数通常会大于物理核心数。在设置 torch.set_num_threads(num)
时,你可以根据可用的 CPU 核心数量来决定。
一般来说,如果你的机器有 8 个逻辑核心,你可以将 num
设置为 8,但具体的设置可以根据你的应用场景进行调整。