Os diretórios só crescem em tamanho, não diminuem. Tente mover todos esses arquivos para um diretório temporário (como log2), em seguida, rmdir o diretório antigo e renomeie o temporário como o novo diretório permanente.
Eu tive uma pequena missão de logro ... Logrotate rodaria os logs arquivados pelo erro, causando um crescimento quadrático de arquivos no meu /var/log/
. E quando percebi que algo estava errado, /var/log/
já continha alguns milhões de arquivos ...
Eu consegui (depois de algum hairloss e encontrar / sed / grep magic) remover todos os arquivos ofensivos e consertar minha configuração logrotate. E pensei que tudo estava bem ...
Sempre que eu ls
/ du -hs
ou listar o conteúdo de /var/log/
(que agora contém 80mb de arquivos / logs e, no máximo, algumas centenas de arquivos), o processo suspende por um bom ou dois minutos. Eu acredito que isso é de alguma forma relacionado com o logrotate mishap mas eu não tenho certeza, poderia ser outra coisa. De qualquer forma estou com perda de onde começar a depuração ou procurando uma correção para isso. Por favor ajude: 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
Eu pensei isso: Quantos arquivos em um diretório são muitos? (Download de dados da net) estava relacionado, mas eu não tenho mais os arquivos.
O problema persiste mesmo após uma chamada para init 1
, então acho que é seguro assumir que não há outro processo a ser responsabilizado, exceto o 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