注:これは、回答を書く「プロセスの文書化」の質問です。幸いなことに、serverfaultはすでにこれを解決するのに役立ちました。なぜなら、他の人がそれを評価できるように私の状況を書き留めることで、何が起こっているのかを理解できたからです。
kjournald
(iotop
を介して表示)からの膨大なアクティビティがあります。noatime,nodiratime
でマウントしました。何が起こっている? (ネタバレ:それはユーザースペースのものでした。私は主に、おそらく直感に反する根本的な問題を強調するためにこれを書いています。)
何が起こったのかを見てください。このサーバーで実行されるメインアプリケーションは、非常に大規模で人口の多いディレクトリツリーを管理し、所有権とアクセス許可がやや最適ではない状態でそのツリーにファイルを書き込みます。そのアプリケーションにそれを変更させるのはかなり不快であり、ファイルの所有権とアクセス許可を適度に迅速に修正する必要があるため(多少の遅延は問題ありませんが、それほど多くはありません)、毎分大量にスローするcronジョブを設定しましたchown -R
およびchmod -R
大規模で人口の多いディレクトリツリー。それが起こっている間、すべてがうまく動いているように見えたので、私は言った、ええと、それはやり過ぎですが、それはうまくいきます、私はそれと一緒に暮らすでしょう。
ただし。結局のところ、chown
またはchmod
を実行すると、ジャーナル可能なextファイルシステムのメタデータが登録されます変更が行われたかどうかに関係なく。したがって、ファイルシステムでは実際には何も変更されていませんでしたが、膨大な量のメタデータが生成され、ジャーナルがコミットされたときにディスクから地獄を叩き出しました。おっと。
そこで、chown
とchmod
をfind
ジョブに変更しました。これらのジョブは、変更する前に変更が必要なファイルを実際に検索し、平均書き込み速度は2 MB/sから多分50 kB/s。わーい。