BUG:软锁定 - CPU# 卡住 x 秒

Pie*_*e D 34 centos xen amazon-ec2

我已经看到了一些关于 nagging 的错误报告和问题(在 stackexchange 和其他地方)"BUG: soft lockup - CPU#<n> stuck for <dt>s!"。到目前为止,我还没有找到任何关于该做什么或尝试什么的线索(相反,我找到并遵循的线索并没有阻止这种情况的发生)。我对此更加担心,因为:

  1. 这些事件的频率最近似乎在缓慢上升(每月超过 700 次),
  2. yum update 并重新启动使其慢了一段时间,但我看到一些锁定再次开始发生,
  3. 几个进程(如果不是整个主机,很难说),当然包括我所有的交互式 shell 在它发生时都被冻结了一段时间,
  4. 我不确定它是否相关,但我看到很多与 ntpd 无法更新时钟相关的日志/消息。

以下是摘录$(grep 'soft lockup' /var/log/messages*)

Mar 22 10:02:35 localhost kernel: BUG: soft lockup - CPU#15 stuck for 10s! [kjournald:1048]
Mar 22 10:02:36 localhost kernel: BUG: soft lockup - CPU#0 stuck for 10s! [postgres:5372]
Mar 22 10:02:36 localhost kernel: BUG: soft lockup - CPU#8 stuck for 10s! [postgres:5368]
Mar 22 10:02:37 localhost kernel: BUG: soft lockup - CPU#0 stuck for 10s! [postgres:5372]
Mar 22 10:02:37 localhost kernel: BUG: soft lockup - CPU#8 stuck for 10s! [postgres:5368]
Mar 22 10:02:38 localhost kernel: BUG: soft lockup - CPU#0 stuck for 10s! [postgres:5372]
Mar 22 10:02:38 localhost kernel: BUG: soft lockup - CPU#8 stuck for 10s! [postgres:5368]
Mar 22 10:02:39 localhost kernel: BUG: soft lockup - CPU#0 stuck for 10s! [postgres:5372]
Mar 22 10:02:39 localhost kernel: BUG: soft lockup - CPU#8 stuck for 10s! [postgres:5368]
Mar 22 10:02:40 localhost kernel: BUG: soft lockup - CPU#15 stuck for 25s! [swapper:0]
Mar 22 15:42:16 localhost kernel: BUG: soft lockup - CPU#8 stuck for 25s! [kjournald:1048]
Mar 22 18:22:13 localhost kernel: BUG: soft lockup - CPU#15 stuck for 10s! [postgres:21356]
Mar 22 18:22:20 localhost kernel: BUG: soft lockup - CPU#7 stuck for 10s! [java:8653]
Mar 22 18:22:20 localhost kernel: BUG: soft lockup - CPU#8 stuck for 72s! [kjournald:1048]
Mar 22 21:21:37 localhost kernel: BUG: soft lockup - CPU#12 stuck for 29s! [kjournald:1048]
Mar 22 21:22:07 localhost kernel: BUG: soft lockup - CPU#12 stuck for 27s! [kjournald:1048]
Mar 23 02:01:47 localhost kernel: BUG: soft lockup - CPU#8 stuck for 10s! [kblockd/8:276]
Mar 23 02:02:22 localhost kernel: BUG: soft lockup - CPU#8 stuck for 34s! [kblockd/8:276]
Run Code Online (Sandbox Code Playgroud)

这发生在随机进程中,并且似乎很好地分布在该虚拟主机的 16 个“核心”上。

主机是一个 AWS EC2“cc1.4xlarge”实例,带有一个名为“EC2 CentOS 5.5 GPU HVM AMI (Driver 260.19.29) (ami-42a2532b)”的 AMI。它似乎是用 Xen 虚拟化的。

cat /etc/redhat-release产量CentOS release 5.9 (Final)'free'报告 21G 的 RAM。

团长dmesg是:

Linux version 2.6.18-348.3.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Mon Mar 11 19:39:25 EDT 2013
Command line: ro root=/dev/VolGroup00/LogVol00 rhgb quiet console=tty0 console=ttyS0,115200n8
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000010000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000c0000000 (usable)
 BIOS-e820: 00000000fc000000 - 0000000100000000 (reserved)
 BIOS-e820: 0000000100000000 - 00000005dd800000 (usable)
DMI 2.4 present.
DMI: Xen HVM domU, BIOS 3.4.3-2.6.18 08/29/2012
ACPI: RSDP (v002    Xen                                ) @ 0x00000000000ea020
ACPI: XSDT (v001    Xen      HVM 0x00000000 HVML 0x00000000) @ 0x00000000fc0062b0
ACPI: FADT (v004    Xen      HVM 0x00000000 HVML 0x00000000) @ 0x00000000fc005ee0
ACPI: MADT (v002    Xen      HVM 0x00000000 HVML 0x00000000) @ 0x00000000fc005fe0
ACPI: SRAT (v001    Xen      HVM 0x00000000 HVML 0x00000000) @ 0x00000000fc0060c0
ACPI: SLIT (v001    Xen      HVM 0x00000000 HVML 0x00000000) @ 0x00000000fc006240
ACPI: HPET (v001    Xen      HVM 0x00000000 HVML 0x00000000) @ 0x00000000fc006270
ACPI: DSDT (v002    Xen      HVM 0x00000000 INTL 0x20090220) @ 0x(null)
Run Code Online (Sandbox Code Playgroud)

以下显示了最近一段时间内这些“软锁定”的累积计数(红线是我最后一次执行的时间,yum update然后是reboot): 软锁定的累积计数.

下面是持续时间的直方图(主机卡住了多长时间): 持续时间直方图.

Fra*_*tag 11

我在带有 3.6 和 3.8 内核(AlpineLinux)的 Xen 4.2 上也有这个问题。

我用谷歌搜索并通过在我的内核中添加 clocksource=jiffies 我修复了它。除了 jiffies,您还可以尝试“坑”。

也有在 BIOS禁用 C 状态的报告。

  • 这些内核参数有什么作用? (4认同)
  • Clocksource 对我来说似乎很明显,c-states 是 CPU 的电源状态。 (2认同)