bdflush
Updated: Август 1994
Index Return to Main Contents
НАЗВАНИЕ
bdflush - демон ядра для сброса недействительных буферов на диск.СИНТАКСИС
bdflush [opt]ОПИСАНИЕ
bdflush используется для запуска демона ядра, который сбрасывает недействительные буферы обратно на диск. На самом деле эта грязная работа выполняется в функции ядра, и bdflush просто создаёт новый процесс, который затем вызывает функцию ядра ничего никогда не возвращающую.bdflush также фактически создаёт второго демона, и его работа больше похожа на традиционный процесс обновления, за исключением того что буферы не будут рассматриваться к записи, пока они будут иметь бит устаревания. Отсчёт времени начинается, когда появляется буфер с установленным битом изменения, и буфер не был записан обратно за прошедший интервал. Интервал отличается для буферов данных и для буферов метаданных (типа каталогов, битовых отображений, дополнительных блоков, и т.д.), и текущие установки отображаются при запуске bdflush с параметрами в командной строке. Значения по умолчанию - 30 секунд для буферов данных и 5 секунд для буферов метаданых.
Два демона обычно запускаются из /etc/rc одной командой:
/sbin/update
Заметим, что должны быть запущены оба демона, потому что каждый из них служит различным целям. Заметим также, что эта команда должна запускаться перед выполнением основных операций I/O. В частности, update должен вызываться перед любыми проверками файловых систем с помощью fsck или монтирования на чтение/запись.
Когда bdflush вызывается пользователем без привилегий суперпользователя, то она вызывает flush() и sync() и завершается. Не должно быть 20 демоном update запущенных одновременно...
ОПЦИИ КОМАНДНОЙ СТРОКИ
- -d
- Показывает параметры ядра. Использование этой опции предохраняет демон от запуска.
- -h
- Печатает сообщение об использовании (помощь).
- -s
- Если значение по умолчанию bdflush старее update, вызывай sync чаще. ( В секундах ) По умолчанию:30.
- -f
- Частота вызова flush. ( В секундах ) По умолчанию:5.
- -0
- Максимальная доля LRU списка, просматриваемая в поисках недействительных блоков.
- -1
- Максимальное число записываемых каждый раз недействительных блоков при активизации bdflush
- -2
- Число чистых буферов, загружаемых из свободного списка с помощью refill_freelist
- -3
- Предел количества недействительных блоков для активизации bdflush в refill_freelist
- -4
- Процент от кэша, просматриваемая в поисках свободных кластеров
- -5
- Время действительности буферов данных перед сбросом
- -6
- Время действительности буферов не данных(каталоги, битовые отображения, и т.д.) перед сбросом
- -7
- Временная константа средней загрузки буферного кэша
- -8
- Коэффициент LAV (используется для определения предела буферного "братоубийства")
АВТОР
bdflush была написана как быстрый хак Eric Youngdale <ericy@gnu.ai.mit.edu>. Главной задачей было улучшить производительность ядра, сделав сброс грязных буферов более разумным, и добавить поддержку для кластеризации буферов. Хотелось бы улучшить её. Несколько других хаков Phil Bostley <bostley@cs.colorado.edu> и Daniel Quinlan <quinlan@yggdrasil.com>.БАГИ
Если и есть, то они вероятно в коде ядра.ПЕРЕВОД
Оригинал взят из bdflush-1.5Перевод выполнил Юрий Козлов, очень рад замечаниям по адресу off@tsinet.ru.
Птн Янв 7 19:29:50 MSK 2000
Сергиев-Посадская LUG spslug.sposad.ru
Index
- НАЗВАНИЕ
- СИНТАКСИС
- ОПИСАНИЕ
- ОПЦИИ КОМАНДНОЙ СТРОКИ
- АВТОР
- БАГИ
- ПЕРЕВОД