我有一台运行 Linux 内核 2.6.26.2 的旧机器,它的行为很奇怪。我怀疑其中一个 CPU 可能比另一个 CPU 升温更快。我想在禁用和启用特定 CPU/核心的情况下运行一些测试。我在 Google 上搜索了说明,找到的唯一匹配项是通过内核参数在启动时设置 CPU 数量,或者将 /sys/devices/system/cpu/cpuX/online 设置为 0 或 1。但 /sys/devices/system/cpu/cpuX/online 不存在。但是,/sys/devices/system/cpu/online 存在。我重新在 Google 上搜索该路径,但 Google 坚持将页面与 /sys/devices/system/cpu/cpuX/online 匹配(不突出显示 cpuX 部分)。搜索内核源代码会找到一个包含路径的文档,但没有说明要设置什么。/sys/devices/system/cpu/online 的当前内容是“0-3”。我想知道针对每个要测试的不同 CPU 应在此处设置什么值,可能测试所有 15 种开/关组合。这台机器是双插槽的,每台都配有“双核 AMD Opteron(tm) 处理器 2220”,频率为 2.8 GHz。
答案1
注意:您需要的功能仅适用于支持热插拔的系统。
如果该目录不存在,则意味着您无法按照自己的意愿热插拔核心。
有一个 grub 选项可以限制核心的数量,但您不能选择使用特定的核心。
另一个选项是检查 bios 能力。参见评论。
最后,您可以使用较新的(实时)内核进行负载测试。