Mozilla Thunderbirdを使うとIMAPサーバ暴走

このエントリーをはてなブックマークに追加
はてなブックマーク - Mozilla Thunderbirdを使うとIMAPサーバ暴走
LINEで送る
Pocket

IMAPサーバを動かしているサーバのロードアベレージが70ぐらいになって、大変なことになっていた。

  • IMAPサーバ:dovecot-0.99.11-9.EL4 (ファイルシステムext3)
  • IMAPクライアント:2.0.0.17

状況は、ps axuするとIO待ちのimapプロセスが大量に存在する。

原因がわかったので、書いておく。
今回の場合、Trashフォルダに数万件のメールがあり、何かのメールを削除するとThunderbirdがTrashフォルダに
新規スレッドでアクセスする。
ファイルが大量にあるMaildirを見ると以下のように、ディレクトリ自体の容量が大きい。

そのスレッドの処理にimapサーバが長時間かかる。
また、メールを削除するたびにサーバ側でimapスレッドが生成されてしまう。

そのため、ファイル削除に加えて、ディレクトリの再作成をすれば回復する。

以下のスクリプト実行する。

ファイルを削除するだけだと、だめ。inodeのフラグメントがあるらしく時間がかかるからディレクトリを再作成してあげる必要がある。


暴走したプロセスをkillするためのコマンドメモ。

ユーザ名部分の”matsu”を適宜置き換えてください。
killのsignalは(9)KILLじゃないと落ちてくれないです。

このエントリーをはてなブックマークに追加
はてなブックマーク - Mozilla Thunderbirdを使うとIMAPサーバ暴走
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

コメントを残す