ERRORE: soft lockup - CPU # bloccato per x secondi


33

Ho visto alcune segnalazioni di bug e domande (su stackexchange e altrove) riguardanti un fastidio "BUG: soft lockup - CPU#<n> stuck for <dt>s!". Finora, non ho trovato alcun indizio su cosa fare o provare (piuttosto, gli indizi che ho trovato e seguito non hanno impedito che ciò accadesse). Sono ulteriormente preoccupato per questo perché:

  1. la frequenza di questi eventi sembra essere aumentata lentamente negli ultimi tempi (oltre 700 al mese),
  2. yum update e il riavvio ha rallentato un po 'per un po' ma ho visto alcuni blocchi iniziare a ricominciare,
  3. diversi processi (se non l'intero host, è difficile da dire), incluso sicuramente tutte le mie shell interattive, vengono bloccati per un certo periodo di tempo,
  4. Non sono sicuro che sia correlato, ma vedo molti log / messaggi relativi a ntpd che non sono in grado di aggiornare l'orologio.

Quello che segue è un estratto di $(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]

Questo accade a processi casuali e sembra abbastanza ben distribuito sui 16 "core" di quell'host virtuale.

L'host è un'istanza "cc1.4xlarge" di AWS EC2, con un AMI denominato "EC2 CentOS 5.5 GPU HVM AMI (Driver 260.19.29) (ami-42a2532b)". Sembra essere virtualizzato con Xen.

cat /etc/redhat-releaserese CentOS release 5.9 (Final). 'free'riporta 21G di RAM.

Il capo di 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)

Di seguito viene mostrato un conteggio cumulativo di questi "blocchi soft" negli ultimi tempi (la linea rossa è quando ho fatto l'ultima yum updateseguito da reboot): conteggio cumulativo dei blocchi software.

Quanto segue mostra l'istogramma di durata (per quanto tempo viene bloccato l'host): istogramma di durata.


1
Tonnellate di possibili ragioni. L'ho avuto una volta in un'istanza di KVM. La causa era il driver di rete degli host (realtek), che avrebbe fatto qualcosa su carichi di rete elevati che la virtualizzazione non si aspettava, e voilà si blocca la CPU nelle macchine virtuali. Quindi sostanzialmente un bug nel driver di rete che ha innescato altri bug più avanti. La soluzione era passare a una versione del kernel diversa (sull'host) che non ha innescato quel comportamento particolare.
frostschutz,

1
Abbiamo ricevuto questo messaggio di errore, poiché alcune VM avevano più vcpus configurato rispetto alle CPU fisiche nel nuovo server, abbiamo spostato il nostro host Xen.
Jörg Ludwig,

Risposte:


11

Ho anche questo problema su Xen 4.2 con kernel 3.6 e 3.8 (AlpineLinux).

Ho cercato su Google e aggiungendo clocksource = jiffies al mio kernel l'ho risolto. Invece di jiffies potresti anche provare "pit".

Ci sono anche segnalazioni di disabilitazione degli stati C nel BIOS .


4
Cosa fanno quei parametri del kernel?
Burhan Ali,

2
Clocksource mi sembra abbastanza ovvio e gli stati c sono gli stati di potenza della CPU.
Franz Bettag,

+1. Disabilitare gli stati c ha funzionato per me.
Andrew Ensley,

2

Ho avuto lo stesso problema con il mio Thinkpad T520. Ma invece di hackerare il kernel ho fatto qualcosa di più semplice. Prima di tutto sto usando Centos7 ho installato il sistema di base tutto ha funzionato bene. Successivamente ho aggiunto la GUI di GNOME, quando ho iniziato a riscontrare i problemi sopra menzionati. Ho notato che molti produttori hanno installato per le installazioni di Windows. La scheda grafica è di solito configurata per Win7 (NVIDIA OPTIMUS) L'ho ripristinato alla modalità grafica integrata e non più blocchi / errori. Come farlo? Riavvia il tuo Thinkpad premendo F1 o il pulsante blu thinkvantage per accedere al BIOS. Vai alla grafica, seleziona la grafica integrata, quindi F10 per salvare ed uscire. Ci sono 3 impostazioni per questa scheda: integrata, discreta e NVIDIA OPTIMUS (solo Win7?) Speri che questo salvi qualcuno?


Sospiro, come quasi tutto il resto, installare cose separatamente è un no-no. Torna alla versione desktop gonfia con Office e altre stronzate :(
killjoy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.