如何使Linux在多CPU机器上可靠地启动?

亚当·苏尔(Adam Sure)

我有两台机器,一台具有4x12 AMD Opteron内核(AMD Opteron(tm)处理器6176),一台具有2x8 Xeon内核(禁用了HT; Intel(R)Xeon(R)CPU E5-2660 0 @ 2.20GHz)。在两台机器上,使用最新内核引导Linux时,我都会遇到困难。在initramfs开始初始化硬件之前或之时,系统会在内核初始化期间挂起。显示的最后一件事是这样的堆栈跟踪:

CPU: 31 PID: 0 Comm: swapper/31 Tainted: G      D      3.11.6-hardened #11
Hardware name: Supermicro X9DRT-HF+/X9DRT-HF+, BIOS 3.00 07/08/2013
task: ffff880854695500 ti: ffff880854695a28 task.ti: ffff880854695a28
RIP: 0010:[<ffffffff8100a82e>]  [<ffffffff8100a82e>] default_idle+0x6/0xe
RSP: 0000:ffff8808546b3ec8  EFLAGS: 00000286
RAX: ffffffff8100a828 RBX: ffff880854695a28 RCX: 00000000ffffffff
RDX: 0100000000000000 RSI: 0000000000000000 RDI: ffff88107fdec690
RBP: ffff8808546b3ec8 R08: 0000000000000000 R09: ffff880854695500
R10: ffff880854695500 R11: 0000000000000001 R12: ffff880854695a28
R13: ffff880854695a28 R14: ffff880854695a28 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff88107fde0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000002b43256a960 CR3: 00000000016b5000 CR4: 00000000000607f0
Stack:
 ffff8808546b3ed8 ffffffff8100aec9 ffff8808546b3f10 ffffffff8109ce25
 334ab55852ec7aef 000000000000001f ffffffff8102d6c0 0000000000000000
 0000000000000000 ffff8808546b3f48 ffffffff810276e0 ffff8808546b3f28
Call Trace:
 [<ffffffff8100aec9>] arch_cpu_idle+0x20/0x2b
 [<ffffffff8109ce25>] cpu_startup_entry+0xed/0x138
 [<ffffffff8102d6c0>] ? flat_init_apic_ldr+0x80/0x80
 [<ffffffff810276e0>] start_secondary+0x2c9/0x2f8

我自己编译内核,并且如果我使用nolapic引导,它也可以正常工作。但是,仅使用了一个核心。另外,RHEL6的内核似乎可以正常工作。我怀疑有一些补丁可以使事情正常进行。使用RHEL6中的内核配置文件并构建更新的内核会产生相同的问题。在Xeon机器上,通过完全禁用超线程,情况变得更好。机器现在可以成功启动至少5次中的4次。如果启动,多核功能也可以正常工作。但是,我想知道如何处理AMD机器。

总结一下:

  1. Gentoo内核3.6-3.11不会可靠地引导那些机器,除非您减少内核数量(例如通过nolapic)。
  2. RHEL6内核(2.6.32)可以正常启动。
  3. 用于构建3.x内核的RH内核配置不会产生可用的内核。
  4. 不是特定于发行版的(除了所使用的内核)。
  5. 这些堆栈跟踪记录每分钟左右打印一次。内核似乎陷入了无限循环。

然而,由于各种原因,需要最新的内核。

所以问题是:

  1. RHEL6内核做什么,普通或gentoo内核做什么?
  2. 是否有一个启动选项可能会导致在启用所有内核的情况下进行可靠的启动?

最好,亚当

亚当·苏尔(Adam Sure)

我意识到Gentoo安装盘的内核工作正常。使用其配置构建内核可以解决此问题。但是,我仍然不知道哪种选择会首先导致问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何可靠地知道单独线程中的HTTPServer已启动并正在服务?

来自分类Dev

如何可靠地获取系统启动时的时间戳记?

来自分类Dev

如何在Linux下可靠地确定文件系统类型?

来自分类Dev

如何可靠地在OS X上检索文件的上次修改时间?

来自分类Dev

如何使用webdriver和Chrome在localhost上可靠地设置cookie?

来自分类Dev

如何在PATH上可靠地找到程序的完整路径?

来自分类Dev

如何在PATH上可靠地找到程序的完整路径?

来自分类Dev

如何可靠地在OS X上检索文件的上次修改时间?

来自分类Dev

在Linux(Debian)中可靠地识别磁盘(不是分区)

来自分类Dev

在OSX上可靠地部署Delphi生成的Dylib

来自分类Dev

无法在VirtualBox上可靠地自动执行xrandr设置

来自分类Dev

在OSX上可靠地部署Delphi生成的Dylib

来自分类Dev

如何可靠地检查流程占用了多少资源?(是否有用于RAM,CPU等的WinDirStat?)

来自分类Dev

我可以可靠地使用dd擦除运行中的Linux服务器上的根文件系统吗?

来自分类Dev

如何使电子托盘点击事件可靠地工作?

来自分类Dev

重复符号后如何可靠地使用dlsym?

来自分类Dev

ObservableList:如何可靠地检测到setAll?

来自分类Dev

如何可靠地获得Glass的最后位置?

来自分类Dev

如何可靠地确定存折是否可用?

来自分类Dev

如何可靠地围绕点旋转图像?

来自分类Dev

如何在C#中可靠地检查null

来自分类Dev

如何让Apache可靠地服务大量端口?

来自分类Dev

如何从Twitter API可靠地确定用户的时区?

来自分类Dev

如何可靠地杀死Qt / C ++中的线程?

来自分类Dev

如何可靠地访问Adobe Firework中的Unicode符号

来自分类Dev

在C#中,如何可靠地杀死进程树

来自分类Dev

如何可靠地跟踪动态更新的HTML表的底部?

来自分类Dev

如何可靠地检查Google Analytics(分析)?

来自分类Dev

如何可靠地写入OPC UA服务器?

Related 相关文章

  1. 1

    如何可靠地知道单独线程中的HTTPServer已启动并正在服务?

  2. 2

    如何可靠地获取系统启动时的时间戳记?

  3. 3

    如何在Linux下可靠地确定文件系统类型?

  4. 4

    如何可靠地在OS X上检索文件的上次修改时间?

  5. 5

    如何使用webdriver和Chrome在localhost上可靠地设置cookie?

  6. 6

    如何在PATH上可靠地找到程序的完整路径?

  7. 7

    如何在PATH上可靠地找到程序的完整路径?

  8. 8

    如何可靠地在OS X上检索文件的上次修改时间?

  9. 9

    在Linux(Debian)中可靠地识别磁盘(不是分区)

  10. 10

    在OSX上可靠地部署Delphi生成的Dylib

  11. 11

    无法在VirtualBox上可靠地自动执行xrandr设置

  12. 12

    在OSX上可靠地部署Delphi生成的Dylib

  13. 13

    如何可靠地检查流程占用了多少资源?(是否有用于RAM,CPU等的WinDirStat?)

  14. 14

    我可以可靠地使用dd擦除运行中的Linux服务器上的根文件系统吗?

  15. 15

    如何使电子托盘点击事件可靠地工作?

  16. 16

    重复符号后如何可靠地使用dlsym?

  17. 17

    ObservableList:如何可靠地检测到setAll?

  18. 18

    如何可靠地获得Glass的最后位置?

  19. 19

    如何可靠地确定存折是否可用?

  20. 20

    如何可靠地围绕点旋转图像?

  21. 21

    如何在C#中可靠地检查null

  22. 22

    如何让Apache可靠地服务大量端口?

  23. 23

    如何从Twitter API可靠地确定用户的时区?

  24. 24

    如何可靠地杀死Qt / C ++中的线程?

  25. 25

    如何可靠地访问Adobe Firework中的Unicode符号

  26. 26

    在C#中,如何可靠地杀死进程树

  27. 27

    如何可靠地跟踪动态更新的HTML表的底部?

  28. 28

    如何可靠地检查Google Analytics(分析)?

  29. 29

    如何可靠地写入OPC UA服务器?

热门标签

归档