可以。目前的 AMD Athlon MP 处理器支持使用 AMD 760MP 芯片组的 SMP。有几款主板采用了这款芯片组,例如 Tyan、ASUS 等。最新的 2.4.x 内核以及最新的 2.2.x 内核都支持 Athlon/SMP。(David Haring)
将其置于 MP1.1/1.4 兼容模式。
检查“配置硬件”->“查看/编辑详细信息”->“高级模式”(我认为是 F7)中的“APIC 模式”配置选项,并将其设置为“完整表模式”。这是 Compaq 官方建议。(Daniel Roesen)
(Adrian Portelli)要执行此操作
(Maciej W. Rozycki) 您的 Compaq 很可能没有使用 82489DX APIC,因为它们推出得相当晚——在 1992 年末或 1993 年初。曾经有 i486 机器实现了 APIC 架构。82489DX 是用于它们的芯片,它包含一个本地 APIC 单元和一个 I/O APIC 单元。
来自 Robert Hyatt:ALR Revolution quad-6 似乎很安全,而一些较旧的没有 P6 处理器的 revolution quad 机器似乎“不太可靠”……
来自 Alan Cox:如果您的其中一个 CPU 报告的 bogomips 值非常低,则说明该 CPU 的缓存未启用。您的供应商可能提供了有缺陷的 BIOS。获取补丁来解决这个问题,或者最好将其退回并从有能力的供应商处购买主板。
2.0 内核(> 2.0.36)包含 MTRR 补丁,应该可以解决这个问题(在“常规设置”菜单中选择选项“处理具有错误 MTRR 设置的错误 SMP BIOS”)。
我认为在最新的 2.2 内核中,错误 SMP BIOS 处理是自动的。
一些 IBM 机器在 EBDA 中有 MP1.4 bios 块,这在 2.2 内核以下是被允许但不被支持的。
有一款旧的基于 486SLC 的 IBM SMP 机器。Linux/SMP 需要硬件 FPU 支持。
没有(根据 Alan :)
),1.4 只是 1.1 的更严格规范。
请参阅 有用的指针,了解 MP 1.4 和 1.1 之间的比较。
这是 2.0 系列内核中 IRQ 处理和长内核锁的已知问题。考虑升级到更新的 2.2 内核。
来自 Jakob Oestergaard:或者,考虑运行 xntpd。这应该使您的时钟保持准确。(我认为我听说在内核中启用 RTC 也可以修复时钟漂移。它对我有用!但我不确定这是否是普遍情况,还是我只是幸运)
在较新的 2.2.x 系列中,有一些内核修复程序可能会解决这个问题。
CPU 编号由主板制造商分配,没有任何意义。忽略它。
(Doug Ledford) 尝试使用 LARGE_EBDA 支持重新编译 LILO,然后确保在编译内核时始终使用 make bzImage。这似乎解决了 Intel 多路 Xeon 主板上的 SMP 启动挂起问题。但是,请注意,这似乎也会破坏 LILO,因为 root= 选项不再起作用,因此请确保在运行 lilo 的同时 rdev 您的内核映像,以确保内核在启动时加载正确的根文件系统。
(Robert M. Hyatt) 对于 3 个 CPU,您在第 4 个插槽中安装了终结器吗?
简短答案: 将您的 MP 设置从 1.4 更改为 1.1(BIOS 选项),并在启动提示符下使用“noapic”选项启动。
详细答案: 此消息与您的性能问题或所有中断都转到一个 CPU 的原因无关。此消息是供 ACPI(IO-APIC) 维护人员在新硬件出现时关注的。(Earle Nietzel)
总结官方内核文档中找到的文章
这取决于情况。
我发现,如果我从 MP 1.4 降级到 1.1,则不需要关闭 IO-APIC。显然,一些基于 Xeon 的主板需要同时执行这两项操作,但 ASUS CUV4X 主板则不需要。不必要地关闭 IO-APIC 支持可能会给 ASUS 用户带来可能很小的性能损失。(Vladimir G. Ivanovic)
如果选择了 MPS 1.1,一些 IBM Netfinity 机器在初始化板载 SCSI 控制器时会出现问题。将使用超时查询每个可能总线上每个可能设备的每个可能 LUB。启动需要无用的很长时间。(E. Robert Bogusta)
有报告称,带有 ASUS4X-DLS 主板的系统在 MP 1.4 启用了 IO-APIC 的情况下运行良好。
对于 CUV4X-D 主板,禁用 IDE 控制器后,您可能可以使用 MP 1.4 和启用 APIC 的方式启动。
(David Mentre) 它有轻微的影响,除非您有高中断负载(即,几乎没有人)。
您可能需要将 BIOS 版本升级到 1010。
Xeon 的芯片组 (440GX) 和配套主板 (supermicro S2DGE) 我将要使用的可能比 Athlon 的芯片组(AMD 760/760MP)更可靠且在 Linux SMP 下得到更好的支持,仅仅是因为它们已经存在更长时间并且经历了更多的迭代。
Xeon 的更大缓存(我正在考虑的双路 400 上为 1mb)可能会提高性能(并且考虑到我不只有一个科学代码计划在此系统上运行,专门为我的代码测试基准可能没有帮助)。
Athlon 具有显著更快的时钟频率(以及 Thunderbirds 中的全速 L2 缓存,尽管只有 384kb)以及使用 PC2100 DDR 内存的更高内存带宽可能会有很大帮助。
在 760MP 主板和 PC2100 内存发布之前,成本尚不清楚,但获得两个 1GHz 385km L2 Thunderbirds、双路主板和 512mb ECC PC2100 可能需要大约 950 美元,而获得两个 400MHz 1mb L2 Xeons、双路主板和 512mb ECC PC100 可能需要大约 750 美元。(Daniel Freedman)
尝试使用更新的 2.2.x 内核和 knfsd 补丁。目前正在调查中。(Wade Hampton)
如果您使用的是内核 2.2.11 或 2.2.12,请获取最新的内核。例如,2.2.13 有许多 SMP 修复程序。一些人报告这些内核对于 SMP 不稳定。这些相同的内核可能存在 NFS 问题,可能导致锁定。此外,使用串行控制台捕获您的 oops 消息。(Wade Hampton)
如果问题仍然存在(并且此列表上的其他建议也没有帮助),那么您可以尝试最新的 2.3 内核。它们具有更详细(且更健壮)的 SMP/APIC 代码,以及自动硬锁定预防代码,这将产生有意义的 oops 而不是静默挂起。(Ingo Molnar)
(Osamu Aoki) 您还必须禁用所有 BIOS 相关的节能功能。良好配置示例(双路 Celeron 466 Abit BP6)
POWER MANAGEMENT SETUP. ACPI: Disabled POWER MANAGEMENT: Disabled PM CONTROL by APM: No
(由 Wade Hampton 提供)
调试锁定的一个好方法是从 Andrea Arcangeli 获取 ikd 补丁:ftp://ftp.suse.com/pub/people/andrea/kernel-patches
有几个调试选项,但不要使用软锁定选项!对于较新的 SMP 机器,打开内核调试,然后打开 NMI oopser。要验证 NMI oopser 是否工作,在启动新内核后,/cat /proc/interrupts
并验证您是否正在获取 NMI。当机器锁定时,您应该会收到 OOPS。
您也可以尝试 %eip 选项。这允许内核在每次调用内核函数时在控制台上打印 %eip 地址。当机器锁定时,写下按第二列排序的第一列,然后在 System.map 文件中查找地址。这仅在控制台模式下有效。
另请注意,使用串行控制台可以极大地促进调试内核锁定,而不仅仅是 SMP 内核锁定!
类似如下的消息
APIC error interrupt on CPU#0, should never happen. ... APIC ESR0: 00000002 ... APIC ESR1: 00000000
在本节中,您将找到 SMP 机器崩溃的一些可能原因(感谢 Jakob �stergaard 的这部分内容)。据我(David)所知,这些问题是 Intel 特有的。
>来自 Ralf B�chle:[与机箱尺寸和风扇有关] 空气流动很重要。当然,在电缆等阻止空气流动的情况下,例如在太小的机箱中,空气无法流动。另一方面,我见过超大尺寸的机箱导致严重问题。市场上有一些塔式机箱实际上比台式机箱的散热效果更差。简而言之,正确的方法是考虑机箱内的空气动力学。用于发热外围设备的额外机箱也很有用。
当然,您始终可以去 Radio Shack(或类似商店)购买另一个风扇。您可以使用 lm_sensors 监视较新的 PII 和 PIII 处理器的 CPU 温度。这可能有助于您确定热量是否是一个问题。(Wade Hampton)
不要购买廉价的 RAM,也不要在对 RAM 挑剔的主板上使用混合的 RAM 模块。
众所周知,尤其是 Tyan 主板对 RAM 速度非常挑剔。
有一些报告称,一些主板出售了 10ns PC100 RAM,但 CPU 实际上需要 8ns RAM。(Wade Hampton)
检查 /proc/cpuinfo
以查看您的 CPU 是否步进相同。
……即使它稳定,也不要超频。
>来自 Ralf B�chle:超频会导致非常微妙的问题。我有一个很好的例子,我的一台超频旧机器错误计算了 640 x 400 分形中的几个像素。只有在使用工具比较它们时才能看到问题。所以最好说永远,nuncas,jamais,niemals 不要超频。
在高性能快速以太网系统上,2.0.x 内核在网络中断处理程序中存在严重的(且已知的)竞争/死锁情况。
解决方案是从 CESDIS Linux 以太网设备驱动程序站点 获取最新的 100BT 开发驱动程序(定义 SMPCHECK 的驱动程序)。
如果您有一个使用 440FX 芯片组的系统,那么您的锁定问题可能是由于芯片组中记录在案的勘误表引起的。这是一个参考
参考文献:Intel 440FX PCIset 82441FX (PMC) 和 82442FX (DBX) 规范更新。第 13 页
http://www.intel.com/design/pcisets/specupdt/297654.htm
该问题可以通过 BIOS 解决方法(或内核补丁)来修复,事实上,David Wragg 编写了一个补丁,该补丁包含在 Richard Gooch 的 MTTR 补丁中。有关更多信息和修复程序,请查看此处
http://nemo.physics.ncsu.edu/~briggs/vfix.html
>来自 Mark Duguid,W6LI 主板的愚蠢规则 #1。 ;)
有时,某些卡无法识别或可能触发 IRQ 冲突。尝试以不同的方式在插槽上洗牌卡,并可能将它们移动到不同的 IRQ。
由 hASCII 贡献:删除 lilo.conf 中的 “ append="hisax=9,2,3"" 行允许使用来自 2.1.xx 系列的内核,并激活 ISDN + Hisax 支持。来自 2.0.xx 系列的内核不会产生此类问题。
还可以尝试设置 BIOS 设置选项,例如“MP 1.4 模式”或“通过 IOAPIC 路由 PCI 中断”,或“操作系统类型”未设置为 DOS 或 Novell (Ingo Molnar)。
如果您在尝试访问软盘时锁定(例如在播放声音时),您可能需要编辑 drivers/pci/quirks.c 并设置 /int isa_dma_bridge_buggy = 1;
这是我的 Dell WS400 双路 PII/300、2.2.x、SMP 的问题 (Wade Hampton)。
请注意:有关更多具体信息,请参阅 传闻可以运行 Linux SMP 的主板 列表
(St�phane �colivet)
目前可购买的处理器中,成本最低的 SMP Linux 机器是双路 Celeron 系统。根据 Intel 的说法,这样的系统在官方上是不可能的。最好考虑第二代 Celeron,即那些具有 128 Kb L2 缓存的 Celeron。
来自 Intel 的官方回答: 否,Celeron 无法在 SMP 模式下工作。
实际回答: 这是可能的,但需要对 Slot 1 处理器进行硬件改动。Tomohiro Kawada 在他的 双路 Celeron 系统 页面上描述了这种改动。当然,这种修改会取消保修... 某些版本的 Celeron 处理器也以 Socket 370 格式提供。在这种情况下,改动可能只需在 Socket 370 到 Slot 1 的适配器上进行,甚至可以出售预先为 SMP 用途布线的适配器。(Andy Poling, Hans - Erik Skyttberg, James Beard)
还有一款主板 (ABIT BP6) 允许插入两个 Socket 370 格式的 Celeron (Martijn Kruithof, Ryan McCue)。ABIT Computer BP6 经过验证和测试,并且原生支持 linux,带有双 ppga socket 370 (Andre Hedrick)。
很好,谢谢。
它可能可以工作。但是,超频这种系统不像超频单处理器系统那么容易。对于生产系统来说,这绝对不是一个好主意。对于个人使用,据报道双路 Celeron 300A 系统在 450 MHz 下运行非常稳定。(numerous people)
这是不可能的。Celeron 处理器的功能与基本的 Pentium II 芯片几乎相同。如果您希望系统中包含超过 2 个处理器,则必须考虑 Pentium Pro、Pentium II Xeon 或 Pentium III (?) 机器。
使用“重新启用”的 Celeron 处理器和具有相同步进的 Pentium II 处理器的系统理论上可能可以工作。
Alexandre Charbey 制作了这样一个系统