readサーバ全体のI/Oの使用状況を確認するのには幾つか方法がある。個別のプロセスのI/O情報を稼働中のサービス内で追いたい場合、デバッガ・プロファイラを走らせる様な重そうな方法以外に手軽な方法が見つからなかった。1で目的を果たせる事に気付いた。pidstatは後で調べます。-cでシステムコールにかかった時間を追う方法は筋が良いかも知れない。/proc/[pid]/ioが使えそうだったので整形する簡単なコマンドを作ってみた。プロセス個別にI/O速度を測るコマンドプロセス個別の情報を知りたいときは/proc/[pid/以下を確認すれば良い。これによると以下が書かれていた。キャンセルされた書き込みバイト数(ページキャッシュのトランケートにより引き起こされる)プロセスの総転送量ではなく速度が知りたかったので定期的に取得して差を計算するだけで欲しい値が取れる。下みたいな簡易のコマンドで秒間の速度が測れる。今はもう少し書き換えてJSONでも吐ける様にした。main(str(args.pid))サーバ全体のI/Oを確認する方法vmstatはサーバのプロセスの稼働状態全体の経過を追う仮想メモリの情報としてブロックデバイスとのI/Oも含まれる。ディスク情報を詳細に出力するsarはシステム情報の何でも屋で-dオプションでディスク情報を出してくれる。ちなみにdstat,iotopはPython製のツール。