У меня была небольшая ошибка 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
поэтому я думаю, что можно с уверенностью предположить, что виноват только ФС.
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
Каталоги только увеличиваются в размерах, а не сокращаются. Попробуйте переместить все эти файлы во временный каталог (например, log2), затем rmdir в старый каталог и переименуйте временный каталог в новый постоянный.