タグ

2012年9月27日のブックマーク (1件)

  • [linux] blktraceでIOボトルネックを探る

    今日はささだ研雑談会でした。 ファイルを読み書きするようなアプリケーションの最適化を行う際、実際どのようなIO命令が発行されているか知りたくなる。 小崎さん(@kosaki55tea)によるとblktraceを使うといいらしい! http://linux.die.net/man/8/blktrace 使い方を書こうと思ったけど、解説ページがそれなりにあったのでやめた。 mmap I/Oアプリケーションにおけるdisc sync ファイルを読み書きするようなアプリケーションにおいて、キャッシュの管理をOS任せにしても良いのならば、ファイル全体をmmapしてしまうと非常に楽にI/O処理を書くことができる。 しかし、mmapしてデータを書き込むだけで、即座にディスクにデータが書き込まれるわけではない。 明示的にmsync(MS_SYNC)を発行して同期を取る必要がある。 ここまでは一般的な話。

    [linux] blktraceでIOボトルネックを探る
    nharuki
    nharuki 2012/09/27
    mmap'ed空間の同期指定フラグ MS_SYNC と MS_ASYNC の違い。複数ページにASYNC指定→fsyncで一括書き込みは目から鱗。