先週の金曜日、Ubuntuサーバーを11.10にアップグレードしました。このサーバーは3.0.0-12-serverカーネルで実行されます。それ以来、全体的なパフォーマンスは劇的に低下しました。アップグレード前のシステム負荷は約0.3でしたが、現在16 GBのRAMを搭載した8コアCPUシステムで22〜30です(10 GBの空き容量、スワップは使用されていません)。
[md1_raid1]と[btrfs-transacti]が多くのリソースを消費したため、BTRFSファイルシステムドライバーとその下にあるMDアレイを非難するつもりでした。しかし、すべての[kworker / *:*]はさらに多くを消費します。
sar
金曜日以来、これと同じようなものを絶えず出力しています:
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
そしてiostat
、書き込み速度が非常に低いことを確認します。
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
質問は次のとおりです。kworkerスレッドが多くのリソース(およびどれ)を消費するのかを追跡するにはどうすればよいですか?またはそれ以上:これは3.0カーネルの既知の問題ですか?カーネルパラメーターで調整できますか?
編集:
BTRFS開発者の推奨に従って、カーネルを最新バージョン3.1に更新しました。しかし、残念ながらこれは何も変えませんでした。
pcie_ports=compat
またはで起動してみてくださいpcie_ports=native
。(最初に「ネイティブ」を試してください。問題を修正する可能性は低くなりますが、他の問題を引き起こす可能性は低くなります。)