Долго работает repquota на старых версиях FreeBSD

Александр Фролов
На сайте с 27.12.2007
Offline
155
1177

Делаю шаблон Zabbix для контроля использования дисковых квот.

Обнаружил неприятную особенность - на старых версиях FreeBSD (например, 7.4, 8.1) команда repquota работает примерно 3 минуты и грузит процессор. На FreeBSD 9.x и Debian отрабатывает практически мгновенно.

Подскажите, пожалуйста, почему работает медленно на старых версиях FreeBSD и можно ли с этим что-то сделать?

Спасибо!

[umka]
На сайте с 25.05.2008
Offline
456
#1

99.9% что у вас в системе есть файлик(и), принадлежащий user id 100500.

Такое бывает, когда особо одарённые люди кладут в архивы файлы с астрономическими user id, чтобы они не совпали при разархивировании с существующими.

Так вот repquota перебирает все user id с 0 до 100500 и это занимает много времени.

Лог в помощь!
Александр Фролов
На сайте с 27.12.2007
Offline
155
#2

Посмотрел /etc/passwd, никаких особых аномалий нет.

На сервере с FreeBSD 7.4 id обычных пользователей в диапазоне до 1070, но есть пользователи nobody, tty и kmem с id порядка 655хх.

При этом на другом сервере с FreeBSD 9.2 аналогичный расклад с id пользователей, но утилита repquota работает во много раз быстрее.

[umka]
На сайте с 25.05.2008
Offline
456
#3

Я про /etc/passwd ничего и не говорил, если обратите внимание :)

Чтобы у файла был какой-то UID, вовсе не обязательно, чтобы он был в passwd.

find / -nouser

Александр Фролов
На сайте с 27.12.2007
Offline
155
#4

А ведь точно, на сервере полно файлов, которые принадлежат уже удаленным пользователям. Это файлы в /tmp, а также в инкрементных бекапах rdiff-backup. И еще почему-то в каталогах существующих пользователей, из которых устанавливались вручную модули Perl.

Сейчас я почистил эти файлы на одном из серверов, теперь подожду, когда они уйдут из инкрементных бекапов и снова проверю скорость работы repquota.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий