红联Linux门户
Linux帮助

Linux中的ACPI和APIC

发布时间:2007-12-21 01:00:21来源:红联作者:qtsmy
  今天一朋友笔记本系统启动有问题,用的是ubuntu,据说是启动速度越用越慢,今天是完全进不去,进度条走到一半就停了。我过去看了看,在进度条停止后按 alt+f1,提示:

  checking file system..
  fsck……
  bug soft lockup detected on CPU#0!

  重启多次后进去了一次,然后又出现进不去的状况。想了半天没有想出原因,干脆直接把一些常用的启动参数全部试一遍,ide=nodma、acpi=off、apm=off、nofb之类的,后来发现只要启动时在第一个画面按F6,加上 noapic nolapic参数就可以解决了。光解决是不够的,还需要想想具体的原因。

  感觉很奇怪,APIC是高级可编程中断控制器,管理IRQ的分配以及多CPU,lapic 的意思是“ local apic”。朋友的机器是双核笔记本,估计是这个原因。单核系统关闭这玩意没有影响,但是多核系统关闭了APIC的话,就会严重降低系统高负荷下的性能,不过为了解决问题,目前也只有这种应急办法。似乎ubuntu 7.04没有这种问题,至少目前我实验室的双核台式机还没有遇到。

  回宿舍还在想这个问题,APIC和ACPI这两个参数这么像,具体功能却大相径庭,有什么联系没有?外事不决问google,搜一搜,还真搜到一篇很好的文章,是mlsx前辈写的ACPI和APIC有什么关系,详细介绍了双方的概念,顺便还介绍了APM和ACPI的区别比较。这篇文章是去年年初写的,估计现在的内核版本已经对ACPI支持得比较好了,所以问题比较少。而APIC则是因为双核是去年下半年开始流行,所以今年问题就出来了。

  有关这两个参数的具体解释,内核文档库的内核参数文件:

  /usr/src/`uname -r`/Documents/kernel-parameters.txt

  只是如mlsx前辈所说,如果你遇到了觉得不可思议的问题时,可以在启动时优先考虑增加apci=off noapic的核心参数,也许以为是大问题的事情就这么轻松的解决了。
文章评论

共有 0 条评论