Фон
У меня была небольшая ошибка в logrotate ... Logrotate вращал заархивированные журналы по ошибке, вызывая квадратичный рост файлов в моем /var/log/
. И к тому времени, когда я понял, что что-то пошло не так, /var/log/
уже содержалось несколько миллионов файлов ...
Мне удалось (после некоторой потери волос и найти / sed / grep magic) удалить все оскорбительные файлы и исправить мою конфигурацию logrotate. И думал, что все было хорошо ...
проблема
Всякий раз, когда я ls
/ du -hs
или иным образом перечисляю содержимое /var/log/
(которое теперь содержит 80 МБ архивов / журналов и самое большее несколько сотен файлов), процесс, выполняющий это, зависает на добрую минуту или две. Я верю, что это как-то связано с ошибкой logrotate, но я не уверен, что это может быть что-то еще. В любом случае, я в растерянности от того, с чего начать отладку или ищу исправление для этого. Пожалуйста, помогите: 3
Другая информация
uname -a
Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R)
Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux
cat /proc/meminfo
MemTotal: 2051552 kB
MemFree: 75612 kB
Buffers: 9016 kB
Cached: 1740608 kB
SwapCached: 0 kB
CFQ IO scheduler + SLUB allocator
Я подумал: сколько файлов в каталоге слишком много? (Загрузка данных из сети) была связана, но у меня больше нет файлов.
редактировать
Проблема сохраняется даже после звонка, init 1
так что я думаю, можно с уверенностью предположить, что нет другого процесса, чтобы обвинить, кроме FS.
Решение (в соответствии с принятым ответом)
init 1
mv /var/log /var/log1
mkdir /var/log
chmod --reference=/var/log1 /var/log
chown --reference=/var/log1 /var/log
tar -C /var/log1 -cvp . | tar -C /var/log -xvp
rm -rf /var/log1
init 5
источник