чтение вперед
Readahead — это системный вызов ядра Linux , который загружает содержимое файла в страничный кеш . При этом выполняется предварительная выборка файла, так что при последующем доступе к нему его содержимое считывается из основной памяти ( ОЗУ ), а не с жесткого диска (HDD), что приводит к гораздо меньшим задержкам доступа к файлу. [1] [2]
Многие дистрибутивы Linux используют упреждающее чтение списка часто используемых файлов для ускорения загрузки . В такой настройке, если ядро загружается с профиля параметр загрузки , он будет записывать все обращения к файлам во время загрузки и записывать новый список файлов для чтения во время последующих последовательностей загрузки. Это ускорит запуск дополнительных установленных служб, поскольку они не включены в список упреждающего чтения по умолчанию. [3]
В дистрибутивах Linux, использующих systemd , двоичный файл readahead (как часть последовательности загрузки) был заменен на systemd-readahead. [4] [5] Однако поддержка упреждающего чтения была удалена из systemd в версии 217, поскольку она была описана как неподдерживаемая и неспособная обеспечить ожидаемый выигрыш в производительности. [6]
некоторые экспериментальные системы предварительной загрузки на уровне страниц . Для дальнейшего повышения производительности были разработаны [7]
В файловой системе
[ редактировать ]- Bcache поддерживает упреждающее чтение файлов и метаданных. [8]
- ZFS поддерживает упреждающее чтение файлов и метаданных при использовании ARC. [9]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Джонатан Корбет (12 октября 2005 г.). «Адаптивное упреждающее чтение файлов» . LWN.net . Проверено 20 августа 2014 г.
- ^ «readahead(2) — страница руководства Linux» . man7.org . Проверено 9 апреля 2014 г.
- ^ Майкл Опденакер (15 июня 2007 г.). «Readahead: методы путешествий во времени для настольных и встроенных систем» (PDF) . free-electrons.com . стр. 5–6 . Проверено 1 мая 2014 г.
- ^ «Читай вперед» . Fedorahosted.org . Проверено 9 апреля 2014 г.
- ^ "systemd-readahead-replay.service" . сайт freedesktop.org . 26 марта 2014 г. Архивировано из оригинала 9 апреля 2014 г. Проверено 9 апреля 2014 г.
- ^ «systemd/systemd — Менеджер системы и сеансов: изменения с 217» . cgit.freedesktop.org . Проверено 9 февраля 2018 г.
- ^ Кшиштоф Лихота (2008). «Решение Linux для предварительной выборки необходимых данных во время запуска приложений и системы» (PDF) . code.google.com . Архивировано из оригинала (PDF) 11 декабря 2009 г. Проверено 28 июля 2014 г.
- ^ «bcache.txt\Documentation — linux-bcache.git — Безымянный репозиторий; отредактируйте «описание» этого файла, чтобы присвоить имя репозиторию» . www.vilpiepirate.org . Проверено 1 мая 2020 г.
- ^ «Часть 10. Мониторинг и настройка производительности ZFS | Сообщество Oracle» . сообщество.oracle.com . Проверено 1 мая 2020 г.