红联Linux门户
Linux帮助

CentOS5.1不停报错: APIC error on CPU(0)

发布时间:2009-11-27 00:56:09来源:红联作者:keyhold
CentOS5.1不停报错: APIC error on CPU(0)
请问各位大虾如果我将APIC关掉,对系统是否有影响?
文章评论

共有 8 条评论

  1. keyhold 于 2009-11-28 21:36:10发表:

    有哪位大虾对APIC比较有研究的,出来发个话吧!!!

  2. keyhold 于 2009-11-27 23:12:11发表:

    是否可以这样理解:我在内核中关闭了APIC,对CPU之间传递的APIC不会产生影响,只是我的IRQ管理能力有限。另外,我的服务器是2颗4核的CPU,对系统的整体性能是否有影响?

  3. alick 于 2009-11-27 21:51:07发表:

    6# keyhold


    关闭的是内核中的功能吧。加的参数都是给内核传递的。

  4. keyhold 于 2009-11-27 21:41:25发表:

    首先,非常感谢楼上兄弟的支持!
    但是这个我看得不是很明白,我在操作系统启动时关闭的APIC是属于哪一种:CPU自带的APIC,主板上自带的I/O APIC,还是Linux内核中的APIC功能?
    感觉有点晕,请大虾指点!

  5. keyhold 于 2009-11-27 21:25:43发表:

    有谁知道吗?

  6. alick 于 2009-11-27 20:49:08发表:

    http://linux.chinaunix.net/bbs/archiver/tid-1122368.html看到的

    引用:

    APIC (高级可编程中断控制器)对计算机来讲有两个作用,
    一是管理IRQ的分配,可以把传统的16个IRQ扩展到24个(传统的管理方式叫PIC),以适应更多的设备。
    二是管理多CPU。由于Nf2主板并不支持多CPU,所以,APIC关闭直接的影响是减少了可用的IRQ。
    不过,如果板卡不是非常多的话,关闭 APIC对系统是没有什么影响的。
    要实现SMP功能,我们使用的CPU必须具备以下要求:
    CPU内部必须内置APIC单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable InterruptControllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个 I/OAPIC来处理由I/O设备引起的中断,这个I/OAPIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。
    APIC可能遇到的问题,很多这类问题可以通过BIOS更新来解决。
    下面的是通过更改HAL类型来解决
      CPU实际运行频率与BIOS设定频率不符
      NF2的用户大约有10%的会出现CPU实际运行频率与BIOS设定频率不符的问题。我们称之为“频率不对”。
      这种现象带来的直接后果就是在测试3dmark或跑3D游戏的时候,会感觉不流畅,也称之为“顿”。
      一般在更改BIOS设置后、更新驱动后重启时,用测试软件如Aida32、MBM5等可以看到CPU的运行频率和你在BIOS里设置得不一样,而且差距很大。这个时候,用superpi测试CPU速度,会比平常花费时间长好几秒,用3dmark跑测试,会比平常低几百分甚至上千分。在3dmark中看到的CPU频率,也与BIOS设定不符合。
      如果出现这种情况,则属于我们所讨论的“频率不对”的问题。
      不过,不是所有的3D游戏“顿”都是这个原因。判断的方法是:如果你只有个别游戏“顿”,或者用上述软件测试频率正确,就不是此问题。
      如果判断确实属此问题,解决的方法也很简单,经过网友讨论,只要关闭APIC功能即可。(注意,是APIC,不是ACPI)。

  7. keyhold 于 2009-11-27 20:39:42发表:

    我今天关了,可以避免APIC不停报错,但是如果我关掉了,对我的系统和业务是否会产生影响以及产生的影响有多大,大虾们能否多指点指点?这样我好进一步的判断能否关闭APIC

  8. Segim 于 2009-11-27 09:17:35发表:

    现在还能有办法么,关试试