Readahead
From Wikipedia, the free encyclopedia
Readaheadは、Linuxカーネルのシステムコールで、ファイルの内容をページキャッシュに読み込む。これは、順次アクセスされたファイルをプリフェッチし、そのコンテンツを、HDDよりもRAMから読み込まれるようする。これはファイルアクセスのレイテンシを低くする[1][2]。
多くのLinuxディストリビューションは、一般よく使われるファイルのリストについてのreadaheadを起動高速化のために用いている。そのような構成では、カーネルがprofileブートパラメータとともにブートしたら、ブート中の全てのファイルアクセスが記録され、後のブートシークエンスで読み込まれるファイルの新しいリストが作られる。これは、追加のインストールされたサービスを高速に開始する。なぜなら、これらのサービスは、デフォルトのreadaheadのリストに含まれていないからである[3]。
systemdを用いるLinuxディストリビューションでは、readaheadのバイナリは(ブートシークエンスの一部としては)systemd-readaheadに置き換えられている[4]。しかしながら、systemdのバージョン 217で、readaheadのサポートは除去された。これは、メンテナンスされておらず、期待されるパフォーマンスの利益を提供できていないことによるとされる[5]。
現在、実験的なページレベルのシステムのプリフェッチが、さらにパフォーマンスを向上させるために開発されている[6]。