Warum stecke ich unter Linux Programme in log_wait_commit fest?


2

Bei meiner Linux-Installation ist auf subtile Weise etwas nicht in Ordnung, das ich einfach nicht finden kann.

Es handelt sich um Ubuntu Lucid Lynx (10.04) 64-Bit. Hardware ist ein Dell Optiplex 960: Intel Core 2 Quad-CPU, 8 GB RAM, 2x 300 GB Festplatten. / home ist ext2 auf einer Platte und alles andere ist auf der anderen (/ ist auch ext3). Ich habe VirtualBox mit einem 64-Bit-Vista-Image für Outlook-Kalender, aber die schwergewichtigen Apps sind IntelliJ, NetBeans, MySQL und Opera. Opera lädt auch meine E-Mails (IMAP), von denen es über 10.000 Nachrichten gibt.

Das Problem ist, dass Opera von Zeit zu Zeit für einige Sekunden blockiert. Wenn Sie sich die Prozessliste ansehen, sehen Sie log_wait_commit, dass das Dateisystem (soweit ich es verstanden habe) die Dinge im Griff hat. Manchmal kann ich dies durch ein Subversion-Update bewerkstelligen, aber normalerweise geschieht dies ohne einen Grund, den ich sehen kann. Es passiert normalerweise mit Opera, aber ich habe auch NetBeans untergehen sehen. Die App stürzt nicht ab - sie reagiert nur einige Sekunden lang nicht.

Googeln hat nicht geholfen Am nächsten war es, das Sync-Attribut im Dateisystem zu entfernen. Damit wurde nichts erreicht. Auf Anraten eines Linux-Guru-Freundes habe ich /proc/sys/vm/dirty_writeback_centisecsauf 300 gesenkt , aber das hat auch nichts gebracht. Und es war alles, woran er denken konnte.

Was ist los und kann ich das beheben? (Und wie?)


Führen Sie dmesgin diesem Fall oder unmittelbar danach die Befehlszeile aus und suchen Sie nach Verweisen auf ext2 oder ext3 oder auf sda1 usw. Dies kann hilfreich sein, um herauszufinden, was los ist. Insbesondere wenn die Ursache hardwarebezogen ist, wird dies wahrscheinlich von dmesg angezeigt.
Jander

In den Systemprotokollen wird nichts angezeigt. Ich dachte kurz, das Flashplugin würde Unheil anrichten, aber das ist es nicht.
Staticsan

Antworten:


2

Ich habe einige dieser Hänge in verschiedenen Foren gesehen, aber nie mit einem Fix. Da das Problem auf meinem Computer behoben zu sein scheint, teile ich hier mit, was ich weiß:

  1. Von meinen vier Ubuntu-Systemen, alle mit 10.04- und ext3-Dateisystemen, passierte dies nur auf einem AMD Quad-System. Die drei anderen sind Intel-Quads. Dies kann ein Zufall sein.
  2. Häufig hängende Prozesse sind Browser (unabhängig davon, welchen ich verwende) und gconf-d
  3. Das Problem wurde mit einem Update auf 9.04 behoben. Unpatched 9.04 zeigt die Hänge nicht an, sie werden sofort nach der Installation der 9.04-Updates wieder angezeigt. Dies ist reproduzierbar. Alle weiteren Versionen einschließlich 10.10 zeigen die Hänge.

Was scheint das Problem behoben zu haben:

Eine vollständige Neuinstallation mit ext4 für alle Dateisysteme einschließlich / home. Ich habe natürlich schon früher versucht, neu zu installieren, aber den FS auf ext3 zu belassen.


Das stimmt mit dem überein, was ich entdeckt habe. Ich stellte fest, dass ich das Problem auf ein lebenswertes Maß reduzieren konnte, indem ich das T-Attribut in das .opera-Verzeichnis legte und das .opera / cache-Verzeichnis löschte. Dies ändert das Verhalten des ext3-Zuweisers, um die Unterverzeichnisse auf der Festplatte weiter zu verteilen. Es scheint, dass es einen Fehler im ext3-Allokator unter Multi-Core gibt, den Browser auslösen.
Staticsan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.