No Oracle Linux, isso acontece quando você tem (muitos / grandes) arquivos que são excluídos, mas ainda abertos por um processo em execução. Então, a parada dos processos ou a reinicialização da máquina ajuda.
Estou tendo um problema com o Ubuntu 12.04 LTS. Esta é a segunda vez que encontro este problema nas últimas 3 semanas. A primeira vez é descrita em esta pergunta fechada no StackOverflow . A versão TL; DR é que eu consegui usar todos os inodes em um sistema 450G ext4 compilando e construindo a pilha do Android menos de 20 vezes.
Eu pensei que estava resolvendo o problema reformatando o disco como XFS para que o armazenamento de inodes pudesse crescer.
Esta manhã, depois de fazer uma compilação durante a noite, estou com menos de 1 GB de espaço livre. Não há nada nesta máquina além do que é necessário para construir o Android. Eu fiz 5 builds totais nas fontes da plataforma. A compilação cria vários arquivos, depois os excluo logo após com make clean
. Eu não sou menos do que 1GB, mas as ferramentas estão relatando dessa forma. Eu apaguei um monte de arquivos temporários e tinha cerca de 40GB "liberados". Algumas horas depois, apenas em marcha lenta, eu estava de volta a menos de 1GB livre.
Executar o Ubuntu a partir de uma unidade flash retorna o seguinte para a partição ...
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 468521456 468255460 265996 100% /media/f71c77eb-b4cc-
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda5 1691760 624214 1067546 37% /media/f71c77eb-b4cc-
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 447G 447G 260M 100% /media/f71c77eb-b4cc-
Aqui está a evidência de que algo está errado. Quando executo du
(com e sem --apparent-size) ou o visual Disk Usage Analyzer, mostro que realmente estou usando apenas
35GB ou mais. 98,7% do espaço usado está em /home/eric
, mas du
não se soma a isso. A discrepância está entre /home/eric
e /home/eric/android
Eu li as perguntas relevantes aqui e no SO e eles geralmente sugerem que os arquivos excluídos são mantidos por processos abertos. Eu reiniciei em uma unidade flash para executar este teste, por isso não deve ser arquivos abertos. FWIW, / tmp está vazio.
Existe uma ferramenta que eu possa instalar em uma unidade flash para recuperar o espaço "perdido"? Eu posso tentar liberar memória no sistema e executá-lo lá, mas estou assumindo que é melhor fazer isso de um pen drive.
Devo estar configurando esse sistema de uma maneira diferente? Eu prefiro não fazer outra limpeza e instalação, mas eu preciso de um sistema de construção sustentável para Android.
FOLLOWUP - Eu tive que eliminar a instalação na semana passada e reinstalar o 12.04 para fazer o trabalho. À medida que eu for percorrendo o Android novamente, esta semana, observarei o uso do disco e darei informações aqui enquanto aprendo mais.
Obrigado
No Oracle Linux, isso acontece quando você tem (muitos / grandes) arquivos que são excluídos, mas ainda abertos por um processo em execução. Então, a parada dos processos ou a reinicialização da máquina ajuda.
Recentemente encontrei isso e, no meu caso, fsck
precisava ser executado.
Eu fiz touch /forcefsck && reboot
e, depois de alguns minutos, o servidor voltou a ficar on-line e, de repente, meus 6 GB perdidos foram liberados.
Antes de ir para longe ..... desative o sistema para o modo de usuário único e faça um Fsck COMPLETO (realmente quero dizer fsck -f /dev/sda5
completo) do sistema de arquivos e veja o que ele mostra. Você pode encontrar o espaço como partes de áreas problemáticas em seu disco ou a incompatibilidade entre o que está alocado e o que está presente no disco.
Podemos fazer um teste, du
diz que você tem 10 GB de espaço livre, enquanto df
diz 300 MB, você pode gravar um arquivo (ou vários arquivos) com tamanho de, digamos, 2 GB?
Se você puder, isso significa que o df está simplesmente errado (e na verdade não há problema de 'espaço perdido'). Se não, então du
está errado (o que será interessante).
Eu não encontrei a causa deste problema, mas é exclusivo para o Ubuntu 12.04.
Apenas configurando um novo servidor, eu iniciei com o Ubuntu 12.04 e corri para isto; du mostrou cerca de 111 GiB de uso, enquanto o df ficou em torno de 170 GiB.
A inicialização usando systemrescuecd 3.3.0 e a verificação novamente mostraram uma diferença de menos de 1 GiB.
Deixando a partição e o sistema de arquivos (ele é ext4) inalterados, eu mudei os diretórios do ubuntu para fora do caminho e instalei a Debian 7.0. Novamente, a diferença entre du e df foi & lt; 1 GiB.
Com o Ubuntu 10.04, na mesma partição e ext4 fs:
De df -m /
,
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda2 2814679 407164 2264538 16% /
e de du -mx
,
tail -1 /root/diskuse
406920 .
que está perto o suficiente.
A imagem que você postou está informando onde o espaço está sendo usado: /home/eric
. Parece que você tem um arquivo muito grande que ocupa todo o espaço, ou possivelmente um grande número de arquivos menores. Abra o seu diretório home, certifique-se de mostrar arquivos ocultos ( Ctrl + H no Nautilus) e classifique por tamanho de arquivo.
Isso é freqüentemente causado por arquivos dentro de um diretório, que também possui um sistema de arquivos diferente montado nele. Uma correção típica é inicializar com um disco de recuperação ou no modo de usuário único e esvaziar os diretórios, verificando se eles não estão sendo usados como pontos de montagem ( cat /proc/mounts
ou df -h
).
Tags filesystem disk-usage