Isso tem me deixado perplexo há algum tempo. Estou no Ubuntu 11.04. Minha partição raiz está enchendo e não consigo descobrir o que está causando isso. Ainda mais estranho, quando executo df -h
, esta é a saída:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.2G 8.8G 0 100% /
Como você pode ver, deveria haver cerca de 400 MB livres, mas Avail
mostra 0. O que poderia estar causando isso? Até desinstalei alguns programas para liberar espaço e ele enche novamente. Sugestões sobre como descobrir quais arquivos, se houver, estão preenchendo o espaço também são bem-vindas.
Responder1
Uma primeira tentativa: alto tráfego em um log de erros. Acho que se você baixasse vídeos, você saberia disso. :)
sudo du -sh /var/log
- -s é resumo
- -h é o sufixo legível por humanos (k, M, G, T)
Para mim são 20M, e ao lado do diretório de log há um cache para as instalações. Usar
apt-get clean
Se este for o seu problema.
Claro, você deve verificar /home se estiver na sua partição raiz.
Se você precisar pesquisar arquivos grandes de forma iterativa, posso sugerir uma série de comandos, que podem ser repetidos e são bastante rápidos após a primeira etapa inicial:
- Você começa em um diretório suspeito no nível superior
- Em seguida, você pesquisa todos os subdiretórios e arquivos por tamanho e classifica numericamente:
sudo du -s /var/* | sort -n
0 /var/crash
4 /var/www
44 /var/games
124 /var/run
2306 /var/tmp
18538 /var/log
251876 /var/cache
1053231 /var/lib
- Tirei o exemplo, para mantê-lo curto. Então vemos que o maior subdiretório é /var/lib, e repetimos o passo para /var/lib. Agora a pesquisa é muito mais rápida, porque os resultados calculados são armazenados em cache de alguma forma:
sudo du -s /var/lib/* | sort -n
78116 /var/lib/apt-xapian-index
104580 /var/lib/dpkg
680503 /var/lib/postgresql
e assim por diante. Siga os maiores diretórios para encontrar os arquivos maiores. Você não pode usar -sh aqui, porque a classificação numérica não funciona com k/M/G/T para kilobyte e assim por diante.
Responder2
Quando formatado, o sistema de arquivos ext2/3/4 reserva uma certa porcentagem de espaço em disco para uso exclusivo do usuário root. Por padrão é 5%. O objetivo disso é que o sistema possa continuar funcionando e inicializar mesmo que usuários não privilegiados ocupem todo o espaço em disco disponível para eles.
Em geral, o preenchimentoqualquerum sistema de arquivos além de 95% de sua capacidade não é uma boa ideia, pois causa fragmentação excessiva, o que resulta em degradação do desempenho - mesmo depois de liberar espaço em disco.
De man mke2fs
:
-m reserved-blocks-percentage
Specify the percentage of the filesystem blocks
reserved for the super-user. This avoids fragmenta‐
tion, and allows root-owned daemons, such as
syslogd(8), to continue to function correctly after
non-privileged processes are prevented from writing
to the filesystem. The default percentage is 5%.
Se você estiver absolutamente desesperado, poderá usar tune2fs
para alterar esse valor. Veja man tune2fs
para mais informações