タグ

linuxとioに関するuokadaのブックマーク (4)

  • CFQスケジューラのアルゴリズム概要 VA Linux Systems Japan

    Linuxカーネルは、ブロックI/Oの処理効率を向上させるさせるための仕組みとして、I/Oスケジューラと呼ばれる機能を提供しています。I/OスケジューラはI/O要求の順序を入れ替えることにより、スループットを向上させたり、特定のI/O要求を優先して実行させたりします。 実際のブロックデバイスのセクタに対するアクセス(つまり読み書き)を、要求された順序ではなく、I/Oを最も効率よく行うためにその順序を並び替えるというアイデアは、初期のUNIXの実装から採用されていました。それは、セクタ番号順序に並び替えてI/Oを実行するという単純なものです。ディスク面上を移動するヘッドの動きがエレベータに似ているため、このアルゴリズムはエレベータアルゴリズムなどと呼ばれていました。 現在のLinuxカーネルでは、そのころのアルゴリズムより洗練されたスケジューリング方式を採用しており、目的に応じて4種類の

  • I/Oスケジューラを使う。

    (参考)LinuxカーネルのI/Oスケジューラ http://memo.blogdns.net/iosched.html 以下、上の記事の抜粋です。特に「スケジューラの種別ってなんだっけ」レベルの方は'''下の記事を鵜呑みにせず、上のリンク先に訪問して全文をお読みください''。 (ここから抜粋) Linux カーネルの I/O スケジューラ 従来は Linux カーネルの I/O スケジューラは一種類だけで、コンパイル時に固定されていました。しかし Linux カーネル 2.6.10 からは複数の I/O スケジューラをデバイス毎に切り替えて、ハードウェアや用途に最適なスケジューラを選べるようになりました。カーネル 2.6.17 に組み込まれているスケジューラは下の四種類です。 noop anticipatory deadline cfq noop スケジューラ noop スケジューラはそ

  • ほえほえ LinuxファイルI/Oチューニング

    Linuxは私の使っている範囲ではファイルI/Oがパフォーマンスボトルネックになっていることが多い。で、チューニングの情報を集めてみるのだが、なかなか役立つ情報を入手できない。 決まって全般的なチューニングの進め方について述べ、次にボトルネックの調べ方について述べる。 最後にチューニングパラメータ設定手順のヒントだけを非常に簡単に挙げておわってしまう。いや、どこがボトルネックなのか最初に一発で分かればいいよ? でも全般的なチューニングの進め方でそうしたドキュメントが述べている通り、色々な可能性を繰り返しチューニングしながらつぶしていかなきゃいけないんだよね。 そのためには具体的なチューニングパラメータの設定手順がなきゃできないんだよね。それを教えろよ!それを! ということで、今回はLinuxファイルI/Oチューニングについて調べた。大きなファイルの書き込み(ex. cpコマンド)を行うと、

  • Linux I/O のお話 write 編 - naoyaのはてなダイアリー

    write はページに dirty フラグを立てるだけなので決してユーザープロセスを待たせない って、当にそうなんでしょうか?(否定しているわけではなく、純粋な疑問です。) と質問をもらったので、最近追ったことをここでまとめます。かなり長文です、すいません。また、まだまだ不勉強なので間違っているところもあるかもしれません。ツッコミ大歓迎です。 まず、オライリーのカーネルの 15章 ページキャッシュ 15.3 汚れたページのディスクへの書き込み から引用。 ご存知のように、カーネルは、ブロック型デバイスのデータを含むページをページキャッシュに蓄えています。プロセスが何らかのデータを更新した場合は、必ず対応するページに汚れている印をつけます。すなわち、PG_dirty フラグを設定します。 UNIX システムでは、汚れたページのブロック型デバイスへの書き込みを遅延することができます。この方

    Linux I/O のお話 write 編 - naoyaのはてなダイアリー
  • 1