Letzten Freitag habe ich meinen Ubuntu-Server auf 11.10 aktualisiert, der jetzt mit einem 3.0.0-12-Server-Kernel läuft. Seitdem ist die Gesamtleistung dramatisch gesunken. Vor dem Upgrade betrug die Systemlast ca. 0,3, auf einem 8-Kern-CPU-System mit 16 GB RAM (10 GB frei, kein Swap verwendet) liegt sie derzeit bei 22-30.
Ich wollte den BTRFS-Dateisystemtreiber und das darunterliegende MD-Array beschuldigen, da [md1_raid1] und [btrfs-transacti] eine Menge Ressourcen verbraucht haben. Aber alle [kworker / *: *] verbrauchen viel mehr.
sar
hat seit Freitag ständig etwas Ähnliches ausgegeben:
11:25:01 CPU %user %nice %system %iowait %steal %idle
11:35:01 all 1,55 0,00 70,98 8,99 0,00 18,48
11:45:01 all 1,51 0,00 68,29 10,67 0,00 19,53
11:55:01 all 1,40 0,00 65,52 13,53 0,00 19,55
12:05:01 all 0,95 0,00 66,23 10,73 0,00 22,10
Und iostat
bestätigt eine sehr schlechte Schreibrate:
sda 129,26 3059,12 614,31 258226022 51855269
sdb 98,78 24,28 3495,05 2049471 295023077
md1 191,96 202,63 611,95 17104003 51656068
md0 0,01 0,02 0,00 1980 109
Die Frage ist: Wie kann ich herausfinden, warum die kworker-Threads so viele Ressourcen verbrauchen (und welche)? Oder besser: Ist dies ein bekanntes Problem mit dem 3.0-Kernel und kann ich es mit Kernel-Parametern optimieren?
Bearbeiten:
Ich habe den Kernel auf die brandneue Version 3.1 aktualisiert, wie von den BTRFS-Entwicklern empfohlen. Daran hat sich leider nichts geändert.
pcie_ports=compat
oder zu booten pcie_ports=native
. (Versuchen Sie zuerst "native". Es ist weniger wahrscheinlich, das Problem zu beheben, aber weniger wahrscheinlich, andere Probleme zu verursachen.)