在 Debian i386 上启用 SMP?

在 Debian i386 上启用 SMP?

我已经在 Debian 上运行了几台旧 HP 机器一段时间了,直到最近才注意到它们只“识别”并使用了一个处理器。cat /proc/cpuinfo只显示处理器 #0 的输出,与top等相同。当我拉开系统盖并感觉到散热器时,每个散热器中只有一个散热器是热的。我漂亮的确保每个处理器中的第二个处理器没有损坏,因为它们两个上的问题是相同的。

有人告诉我需要安装 SMP 内核(顺便说一下,这些系统是 32 位的,因为它们已经很旧了),但是当我这样做时uname -a,我得到了:

Linux DL360-G3-3 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686 GNU/Linux

其中的一部分SMP让我相信我的内核中启用了 SMP,但系统仍然只显示和使用 1 个处理器。

有人知道这里出了什么问题吗?

编辑:

输出ls /sys/devices/system/cpu

cpu0  cpufreq  cpuidle  kernel_max  offline  online  perf_events  possible  present

输出dmidecode(剪切到仅 CPU 信息):

Processor Information
    Socket Designation: Proc 1
    Type: Central Processor
    Family: Xeon
    Manufacturer: Intel
    ID: 29 0F 00 00 FF FB EB BF
    Signature: Type 0, Family 15, Model 2, Stepping 9
    Flags:
            FPU (Floating-point unit on-chip)
            VME (Virtual mode extension)
            DE (Debugging extension)
            PSE (Page size extension)
            TSC (Time stamp counter)
            MSR (Model specific registers)
            PAE (Physical address extension)
            MCE (Machine check exception)
            CX8 (CMPXCHG8 instruction supported)
            APIC (On-chip APIC hardware supported)
            SEP (Fast system call)
            MTRR (Memory type range registers)
            PGE (Page global enable)
            MCA (Machine check architecture)
            CMOV (Conditional move instruction supported)
            PAT (Page attribute table)
            PSE-36 (36-bit page size extension)
            CLFSH (CLFLUSH instruction supported)
            DS (Debug store)
            ACPI (ACPI supported)
            MMX (MMX technology supported)
            FXSR (Fast floating-point save and restore)
            SSE (Streaming SIMD extensions)
            SSE2 (Streaming SIMD extensions 2)
            SS (Self-snoop)
            HTT (Hyper-threading technology)
            TM (Thermal monitor supported)
            PBE (Pending break enabled)
    Version: Not Specified
    Voltage: 1.5 V
    External Clock: 533 MHz
    Max Speed: 3600 MHz
    Current Speed: 3066 MHz
    Status: Populated, Idle
    Upgrade: ZIF Socket
    L1 Cache Handle: 0x0716
    L2 Cache Handle: 0x0726
    L3 Cache Handle: 0x0736
Handle 0x0400, DMI type 4, 32 bytes
Processor Information
    Socket Designation: Proc 2
    Type: Central Processor
    Family: Xeon
    Manufacturer: Intel
    ID: 25 0F 00 00 FF FB EB BF
    Signature: Type 0, Family 15, Model 2, Stepping 5
    Flags:
            FPU (Floating-point unit on-chip)
            VME (Virtual mode extension)
            DE (Debugging extension)
            PSE (Page size extension)
            TSC (Time stamp counter)
            MSR (Model specific registers)
            PAE (Physical address extension)
            MCE (Machine check exception)
            CX8 (CMPXCHG8 instruction supported)
            APIC (On-chip APIC hardware supported)
            SEP (Fast system call)
            MTRR (Memory type range registers)
            PGE (Page global enable)
            MCA (Machine check architecture)
            CMOV (Conditional move instruction supported)
            PAT (Page attribute table)
            PSE-36 (36-bit page size extension)
            CLFSH (CLFLUSH instruction supported)
            DS (Debug store)
            ACPI (ACPI supported)
            MMX (MMX technology supported)
            FXSR (Fast floating-point save and restore)
            SSE (Streaming SIMD extensions)
            SSE2 (Streaming SIMD extensions 2)
            SS (Self-snoop)
            HTT (Hyper-threading technology)
            TM (Thermal monitor supported)
            PBE (Pending break enabled)
    Version: Not Specified
    Voltage: 1.5 V
    External Clock: 533 MHz
    Max Speed: 3600 MHz
    Current Speed: 3066 MHz
    Status: Populated, Enabled
    Upgrade: ZIF Socket
    L1 Cache Handle: 0x0710
    L2 Cache Handle: 0x0720
    L3 Cache Handle: 0x0730
Handle 0x0716, DMI type 7, 19 bytes

如您所见,第一个处理器的状态为“已填充,闲置的“,而第二个处理器的状态为“已填充,已启用“。我很确定这意味着这是一个内核问题。还有其他人有其他想法吗?

答案1

这篇 VMWare 文章可能有用(http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1081

这很有意义,因为 ESX 是基于 Linux 构建的。

基本上像这样修改 BIOS 设置:

  • 系统->操作系统选择:Windows 2000
  • 高级选项->MPS 表模式:全表 APIC

我还没有在您使用的系统上明确测试过这个分辨率,但我在同年的硬件上看到过类似的问题。

答案2

好的,经过这么长时间,结果发现它不知为何“开始工作了”。事实上,它可能一直在工作,只是我没有意识到。这有点奇怪,但 CPU 2 和 4 承担了约 90% 的工作,而 CPU 1 和 3 承担了约 10% 的工作,这可以解释为什么当我拆开机器时,我会感觉到处理器温度的物理差异。无论如何,感谢您的所有回答。

相关内容