コンテンツにスキップ

Readahead

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Readaheadは、Linuxカーネルのシステムコールで、ファイルの内容をページキャッシュに読み込む。これは、順次アクセスされたファイルをプリフェッチし、そのコンテンツを、HDDよりもRAMから読み込まれるようする。これはファイルアクセスのレイテンシを低くする[1][2]。

多くのLinuxディストリビューションは、一般よく使われるファイルのリストについてのreadaheadを起動高速化のために用いている。そのような構成では、カーネルがprofileブートパラメータとともにブートしたら、ブート中の全てのファイルアクセスが記録され、後のブートシークエンスで読み込まれるファイルの新しいリストが作られる。これは、追加のインストールされたサービスを高速に開始する。なぜなら、これらのサービスは、デフォルトのreadaheadのリストに含まれていないからである[3]。

systemdを用いるLinuxディストリビューションでは、readaheadのバイナリは(ブートシークエンスの一部としては)systemd-readaheadに置き換えられている[4]。しかしながら、systemdのバージョン 217で、readaheadのサポートは除去された。これは、メンテナンスされておらず、期待されるパフォーマンスの利益を提供できていないことによるとされる[5]。

現在、実験的なページレベルのシステムのプリフェッチが、さらにパフォーマンスを向上させるために開発されている[6]。

脚注

[編集]

出典

[編集]
  1. ↑ Jonathan Corbet (2005年10月12日). “Adaptive file readahead”. LWN.net. 2014年8月20日閲覧。
  2. ↑ “readahead(2) - Linux manual page”. man7.org. 2014年4月9日閲覧。
  3. ↑ Michael Opdenacker (2007年6月15日). “Readahead: time-travel techniques for desktop and embedded systems” (PDF). free-electrons.com. pp. 5–6. 2014年5月1日閲覧。
  4. ↑ “Readahead”. fedorahosted.org. 2014年4月9日閲覧。
  5. ↑ “systemd/systemd – System and Session Manager: Changes with 217”. cgit.freedesktop.org. 2018年2月9日閲覧。
  6. ↑ Krzysztof Lichota (2008年). “Linux solution for prefetching necessary data during application and system startup” (PDF). code.google.com. 2009年12月11日時点のオリジナルよりアーカイブ。2014年7月28日閲覧。