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 -hs
o 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