我已经在 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% 的工作,这可以解释为什么当我拆开机器时,我会感觉到处理器温度的物理差异。无论如何,感谢您的所有回答。