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


17

Фон

У мене був невеликий неправильний розмір логротату ... Logrotate міняв би архівні журнали помилково, викликаючи квадратичне зростання файлів у моєму /var/log/. І до того моменту, коли я заграв, що щось було не так, /var/log/вже містив кілька мільйонів файлів ...

Мені вдалося (після деякого випадання волосся та пошуку / sed / grep magic) видалити всі образливі файли та виправити конфігурацію logrotate. І подумав, що все добре ...

Проблема

Щоразу, коли я ls/ du -hsабо іншим чином перераховую вміст /var/log/(який зараз містить 80 Мб архівів / журналів і щонайбільше декілька сотень файлів), то цей процес висить добру хвилину-дві. Я вірю, що це якимось чином пов’язане з логрататом, але я не впевнений, це може бути щось інше. У всякому разі, я втрачаю те, з чого почати налагодження чи шукаю виправлення для цього. Будь ласка, допоможіть: 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

Відповіді:


26

Довідники лише коли-небудь збільшуються в розмірах, не стискаються. Спробуйте перемістити всі ці файли у тимчасовий каталог (наприклад, log2), після чого rmdir старий каталог та перейменуйте тимчасовий як новий постійний.


Я просто зробив це, як ти відповів. Це спрацювало :) На жаль, у мене недостатньо репутації, щоб підтвердити вас: /
Емілі Л.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.