メタデータの読み取り/書き込みまたはマッピングファイルがディスクに到着したときの監視

メタデータの読み取り/書き込みまたはマッピングファイルがディスクに到着したときの監視

さまざまなWebサイトをホストしているサーバーでは、iotop、iostat、sarなどのツールを使用してIO操作を担当するプロセスを特定できず、IOがボトルネックを引き起こすことがよくあります。

私はこれらのプロセスがメタデータに対して多くのIO(属性の読み取りおよび/または書き込み、多くの空のファイルの作成または削除など)を実行していると思います。残念ながら、これらの操作は「プロセス別」としてカウントされず、メモリマッピングファイル(mmap)を使用してIOを実行することもできません。

私の質問は:メモリマップされたファイルのメタデータとioを含むプロセスごとまたはファイルあたり(おそらくより良い)IOを監視および/または計算する(例:cgroupsやblkioを使用する)方法はありますか?

現在、systemtapを使用して「ディスクにヒットされた要求」を計算し、メインページエラーに対してhandler_mm_fault()(カーネルのmm / memory.c)を取得しようとしていますが、操作が行われたことを確認できません。ファイルシステムメタデータこの関数によって処理されるページフォルトを生成します。

あなたの洞察力に感謝します!

ベストアンサー1

私がやろうとしている作業に近いsystemtapスクリプトを思い出しましたが、書き込みを追跡しません。

コードの要点は次のとおりです。https://gist.github.com/Martiusweb/10633360

おすすめ記事