Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Readahead является системным вызовом из ядра Linux , который загружает содержимое файла в в кэш страниц . Это выполняет предварительную выборку файла, так что при последующем доступе к нему его содержимое считывается из основной памяти ( RAM ), а не с жесткого диска (HDD), что приводит к гораздо меньшим задержкам доступа к файлам. [1] [2]

Многие дистрибутивы Linux используют опережающее чтение в списке часто используемых файлов для ускорения загрузки . В такой настройке, если ядро загружается с параметром загрузки профиля , оно будет записывать все обращения к файлам во время загрузки и записывать новый список файлов для чтения во время последующих загрузок. Это ускорит запуск дополнительных установленных служб, поскольку они не включены в список опережающего чтения по умолчанию. [3]

В дистрибутивах Linux, использующих systemd , двоичный файл readahead (как часть последовательности загрузки) был заменен на systemd-readahead. [4] [5] Однако поддержка опережающего чтения была удалена из systemd в его версии 217, поскольку она описывалась как не поддерживаемая и не способная обеспечить ожидаемые преимущества в производительности. [6]

Некоторые экспериментальные системы предварительной выборки на уровне страниц были разработаны для дальнейшего повышения производительности. [7]

В файловой системе [ править ]

Bcache поддерживает опережающее чтение файлов и метаданных. [8]

ZFS поддерживает опережающее чтение файлов и метаданных при использовании ARC. [9]

Ссылки [ править ]

  1. ^ Джонатан Корбет (2005-10-12). «Адаптивное опережающее чтение файлов» . LWN.net . Проверено 20 августа 2014 .
  2. ^ "readahead (2) - страница руководства Linux" . man7.org . Проверено 9 апреля 2014 .
  3. ^ Майкл Опденакер (15.06.2007). «Readahead: техника путешествий во времени для настольных и встроенных систем» (PDF) . free-electrons.com . С. 5–6 . Проверено 1 мая 2014 .
  4. ^ "Readahead" . fedorahosted.org . Проверено 9 апреля 2014 .
  5. ^ "systemd-readahead-replay.service" . freedesktop.org . 2014-03-26. Архивировано из оригинала на 2014-04-09 . Проверено 9 апреля 2014 .
  6. ^ "systemd / systemd - Менеджер системы и сеанса: изменения в 217" . cgit.freedesktop.org . Проверено 9 февраля 2018 .
  7. ^ Кшиштоф Lichota (2008). «Linux-решение для предварительной загрузки необходимых данных при запуске приложения и системы» (PDF) . code.google.com . Архивировано из оригинального (PDF) 11 декабря 2009 года . Проверено 28 июля 2014 .
  8. ^ "bcache.txt \ Documentation - linux-bcache.git - Репозиторий без имени; отредактируйте этот файл 'description', чтобы присвоить имя репозиторию" . evilpiepirate.org . Дата обращения 1 мая 2020 .
  9. ^ «Часть 10 - Мониторинг и настройка производительности ZFS | Сообщество Oracle» . community.oracle.com . Дата обращения 1 мая 2020 .