小编Nic*_*hop的帖子

Linux 如何检测“可能的”CPU 数量

我有一个 AMD CPU,有 8 个核心,每个核心有 2 个线程。Linux(正确地)将其显示为 16 个“cpu”。然而,sysfs 实际上显示了 32 个“可能的”CPU,其中 16 个不存在并且处于离线状态:

$ cat /sys/devices/system/cpu/possible
0-31

$ cat /sys/devices/system/cpu/present
0-15

$ cat /sys/devices/system/cpu/online
0-15

$ cat /sys/devices/system/cpu/offline 
16-31
Run Code Online (Sandbox Code Playgroud)

需要明确的是,这里没有任何问题;确实有 16 个逻辑 CPU 存在并且在线。我不清楚的是为什么 Linux 检测到额外的 16 个逻辑 CPU,这些 CPU 不存在但可能存在。

我认为这些是相关的内核文档:https://www.kernel.org/doc/html/latest/core-api/cpu_hotplug.html。但我没有看到任何关于如何选择可能的 CPU 数量的说明。(请注意,它远低于kernel_maxCPU 数量,我的系统上为 8191。)

(一点额外的背景:我有一些代码需要解析这些值。做正确的事情似乎很简单,但我希望有一个清晰的文档字符串来解释为什么可能的 CPU 数量可能超过计算机上现有的 CPU 数量普通台式电脑。)

linux cpu sysfs

4
推荐指数
1
解决办法
3619
查看次数

标签 统计

cpu ×1

linux ×1

sysfs ×1