Elenco ext4 di file molto lento in una directory specifica che conteneva molti file prima


16

sfondo

Ho avuto un piccolo errore logrotate ... Logrotate ruotava i registri archiviati per errore causando una crescita quadratica dei file nel mio /var/log/. E quando ho capito che qualcosa non andava, /var/log/conteneva già alcuni milioni di file ...

Sono riuscito a (dopo un po 'di caduta e trovare / sed / grep magic) rimuovere tutti i file offensivi e correggere la mia configurazione di logrotate. E ho pensato che tutto andasse bene ...

Problema

Ogni volta che io ls/ du -hso elenco in altro modo il contenuto di /var/log/(che ora contiene 80 mb di archivi / registri e al massimo poche centinaia di file) il processo che lo fa si blocca per un buon minuto o due. Credo che questo sia in qualche modo correlato al loghake fallito logrotate ma non sono sicuro, potrebbe essere qualcos'altro. Ad ogni modo, non so dove iniziare il debug o cercare una soluzione per questo. Per favore aiutate: 3

Altre informazioni

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 

Ho pensato questo: quanti file in una directory sono troppi? (Il download dei dati dalla rete) era correlato ma non ho più i file.

modificare

Il problema persiste anche dopo una chiamata, init 1 quindi penso che sia sicuro presumere che non ci sia altro processo da incolpare se non l'FS.

Soluzione (applicata dalla risposta accettata)

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

Risposte:


25

Le directory crescono sempre di dimensioni, non si riducono. Prova a spostare tutti quei file in una directory temporanea (come log2), quindi modifica la vecchia directory e rinomina quella temporanea come nuova permanente.


Ho appena fatto questo come hai risposto. Ha funzionato :) Purtroppo, non ho abbastanza reputazione per votarti: /
Emily L.,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.