Настройка /etc/updatedb.conf и снижение нагрузки

В linux есть такой замечательный поисковый инструмент, как updatedb, который содержится в пакете mlocate.
Команда updatedb предназначена для быстрого поиска по имени файлов и все бы хорошо, но команда использует поисковый индекс, по время перестроения которого резко повышаются нагрузки и падает быстродействие компьютера — чем больше файлов на машине, тем выше нагрузки и ниже быстродействие, во время перестроения индекса.

Поисковый индекс обычно обновляется автоматически (например, по крону), причем он может обновляться ежесуточно. А вот пользоваться поиском, вы можете гораздо реже. Так зачем же ежедневно тратить ресурсы компьютера на обновление поискового индекса?

Тем более, что на машинах с большим количеством файлов, в момент обновления индекса могут появляться просто жуткие тормоза и длиться они могут довольно долго!

Лечится это довольно просто:
Открываем файл
/etc/updatedb.conf
И добавляем в PRUNEPATHS список директорий, которые не нужно индексировать, например, это может выглядеть так:

PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/spool/cups /var/spool/squid /var/tmp /home /backup"

Закрыв от индексации директорию /home, в которой обычно находится основная масса файлов, мы снижаем нагрузки при перестроении поискового индекса на порядок.

Ну а если понадобится выполнить поиск в директории /home, достаточно будет убрать ее из списка исключений и выполнить поиск таким образом:

nice -21 updatedb
locate имяфайла


Автор: Виктор Симон
www.man-linux.ru
Права копирования
Опубликовано 2 февраля 2012 - информация могла устареть.

Ответить