Ich versuche herauszufinden, warum kjournald
meine Maschine verrückt wird. Es ist eine 8-Kern-Box mit viel Speicher. Es hat ~ 50% CPU-Auslastung.
Das iotop scheint nicht auf bestimmte Prozesse zu verweisen - einige Schreibvorgänge hier und da (meistens Cron-Start, einige generierte Überwachungsstatistiken usw.). Als ich sys/vm/block_dump
die Schreibstatistiken sammelte, erhielt ich Listen wie diese:
kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Wo kjournald
Aktionen nur SCHREIBEN sind.
Warum passiert das? Worauf sollte ich noch achten, um die kjournald-Aktivität etwas einzuschränken? Es scheint unverhältnismäßig zu dem, was tatsächlich geschrieben wird.
linux
filesystems
tuning
kjournald
viraptor
quelle
quelle
Antworten:
kjournald
ist verantwortlich für das Journal von ext3 (Journaling Filesystem). Es ist bekannt, dass unter bestimmten Belastungen viel CPU verbraucht wird. Es gibt nicht viel zu tun, außer ein anderes Dateisystem zu verwenden oder das Journaling zu deaktivieren (effektiv die fs ext2 zu machen).Theoretisch können Sie einen der anderen Modi für ext3-Journaling verwenden und prüfen, ob die CPU-Auslastung sinkt. Beachten Sie jedoch, dass jede Methode einen Kompromiss für die Sicherheit der auf die Festplatte geschriebenen Daten darstellt. Sie haben den Modus "Bestellen", "Zurückschreiben" und "Alles" gewählt.
Sie stellen den Modus mit der Option ein,
data=
wenn Sie das System einbinden, wie zdata=ordered
.quelle
Standardmäßig wird Ihr ext3-Dateisystem zeitweise aktiviert. Jedes Mal, wenn eine Datei oder ein Verzeichnis gelesen oder darauf zugegriffen wird, muss das Dateisystem auf die Festplatten zurückschreiben, um diesen Zeitdatensatz zu aktualisieren. Dies bedeutet, dass Sie auch dann, wenn Ihre Arbeitsauslastung größtenteils auf Lesezugriff basiert, die Datenträger durchsuchen müssen, um die Zugriffszeiten für die einzelnen Dateien und Verzeichnisse zu aktualisieren. Dies ist meine Vermutung, warum Ihr
kjournald
Prozess so viele Blöcke geschrieben hat.Wenn Sie atime's deaktivieren, wird die Leistung erheblich gesteigert, die POSIX-Konformität wird jedoch verletzt. In diesem Wikipedia-Artikel wird die Kritik von atime diskutiert.
Zum Deaktivieren fügen Sie einfach
noatime
die Mount-Optionen für Ihr Dateisystem hinzu, oder Sie können erneut mounten, wie von poige vorgeschlagen. Hier ist ein Beispiel für Ihr Root-Dateisystem:quelle
relatime
einen akzeptablen Kompromiss zwischennoatime
und darstellenatime
.Wenn die Richtigkeit der Daten nicht wichtig ist: Tun Sie dies
Stellen Sie sicher, dass es wirklich kjournald ist. Es ist das, was meinen Server zum Absturz bringt.
Das Wechseln der Festplatte zu SSD würde funktionieren.
Wenn Sie sehen, wie kjournald 5-10 MB Daten schreibt, tun Sie dies
http://ubuntuforums.org/showthread.php?t=56621
Wobei sda1 der Name Ihrer Partition ist
Ergebnis im Kommentar melden, damit ich es weiter überprüfen kann.
quelle
Nicht in der Reihenfolge zu tun, nur um zu erwähnen:
mount -oremount,noatime /fs/being_over/journaled
- als schnelle Vermutung (du hast unsmount
sowieso nicht gezeigt, wie du aussiehst)tune2fs -J …
)quelle