コンテンツにスキップ

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. 56. 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日閲覧。