たびたびお世話になります、もりもとです。

CPU負荷も低く、メモリも余裕があり、ネットワークトラフィックも
全然余裕、なのにレスポンスが悪い・・というサーバー機のボトルネックを
調査しているのですが・・

おおよそ、ディスクのI/Oだと見当は付いているのですが、
これを Bytes/sec.のような形で、リアルタイムに測定する方法って、
ないでしょうか?

statfsシステムコールあたりを調べてみたのですが・・
statfs.f_syncreads, statfs.f_asyncreads あたりにそれらしい値が出るの
ですが、kernelを読んでみたところ、具体的なI/Oのデータ量、というよりは
I/Oのリクエスト数のようで・・?(勘違い、でしょうか??)

また、よく考えると、ファイルシステムのI/Oであっても、キャッシュにヒット
した分は勘定しなくてよいですし・・

ならば、vfs.cache.nchstats あたりかな・・?と思ってみてみたのですが、
ファイルシステムごとに分かれていないし、各フィールドの意味もよくわからず。。

なにかよい方法などありましたら、ご教授くださいませ。。

- YAMANEKO / Mao
http://blog.yamamaya.com/
http://yamamaya.com/

メールによる返信