Estou tendo um problema com o Ubuntu 12.04 LTS. Esta é a segunda vez que encontrei esse problema nas últimas 3 semanas. A primeira vez é descrita nesta pergunta encerrada no StackOverflow . A versão TL; DR foi capaz de usar todos os inodes em um sistema ext4 450G 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 do inode pudesse aumentar.
Hoje de manhã, depois de fazer uma compilação da noite para o dia, reduzi-me a menos de 1 GB de espaço livre. Não há nada nesta máquina além do necessário para criar o Android. Eu fiz 5 compilações totais nas fontes da plataforma. A compilação cria um monte de arquivos, então os apago logo depois com make clean
. Não tenho menos de 1 GB, mas as ferramentas estão relatando dessa maneira. Excluí vários arquivos temporários e tive cerca de 40 GB "liberados". Algumas horas depois, apenas ociosa, voltei a menos de 1 GB de graça.
A execução do 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 cerca de 35 GB. 98,7% do espaço usado está dentro /home/eric
, mas du
não corresponde a isso. A discrepância é entre /home/eric
e/home/eric/android
Eu li as perguntas relevantes aqui e no SO e elas geralmente sugerem que são arquivos excluídos mantidos por processos abertos. Reiniciei em uma unidade flash para executar este teste, portanto, não deve haver arquivos abertos. FWIW, / tmp está vazio.
Existe uma ferramenta que eu possa instalar em uma unidade flash para recuperar o espaço 'perdido'? Posso tentar liberar memória no sistema e executá-la lá, mas presumo que seja melhor fazer isso a partir de uma unidade flash.
Devo estar configurando este sistema de uma maneira diferente? Prefiro não fazer outra limpeza e instalação, mas preciso de um sistema de compilação Android sustentável.
SEGUIMENTO - Tive que remover a instalação da semana passada e reinstalar a 12.04 para concluir o trabalho. À medida que eu for desenvolvendo o Android novamente esta semana, manterei um olhar atento sobre o uso do disco e darei informações aqui enquanto aprendo mais.
obrigado
fonte
ls -lah ~
em paste.ubuntu.com e vincule-a na sua pergunta.Respostas:
No Oracle Linux, isso acontece quando você tem (muitos / grandes) arquivos excluídos, mas ainda abertos por um processo em execução. Em seguida, interrompa os processos ou reinicie a máquina.
fonte
lsof +L1
, para verificar a identificação do processo e matá-lo.Recentemente, me deparei com 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 ausentes foram liberados.fonte
Antes de ir para longe ... ... desative o sistema para o modo de usuário único e faça um fsck COMPLETO (realmente quero dizer cheio
fsck -f /dev/sda5
) do sistema de arquivos e veja o que ele mostra. Você pode encontrar o espaço como partes de áreas problemáticas no disco ou incompatibilidade entre o que está alocado e o que está presente no disco.fonte
Podemos fazer um teste,
du
diz que você tem 10 GB de espaço livre, enquantodf
diz 300 MB, você pode gravar um arquivo (ou vários arquivos) com tamanho de, digamos, 2 GB? Se você puder, isso significa que df está simplesmente errado (e não há realmente nenhum problema de 'espaço perdido'). Caso contrário,du
está errado (o que será interessante).fonte
Não encontrei a causa desse problema, mas é exclusivo para o ubuntu 12.04.
Apenas configurando um novo servidor, comecei com o Ubuntu 12.04 e me deparei com isso; du mostrou cerca de 111 GiB de uso, enquanto df foi de cerca de 170 GiB.
A inicialização usando o systemrescuecd 3.3.0 e a verificação novamente mostraram uma diferença menor que 1 GiB.
Deixando a partição e o sistema de arquivos (ext4) inalterados, mudei os diretórios do ubuntu e instalei o Debian 7.0. Novamente, a diferença entre du e df foi <1 GiB.
Com o ubuntu 10.04, na mesma partição e ext4 fs:
De
df -m /
,e a partir de
du -mx
,que está perto o suficiente.
fonte
A imagem que você postou está lhe dizendo onde o espaço está sendo usado:
/home/eric
. Parece que você tem um arquivo muito grande, ocupando todo o espaço, ou possivelmente um grande número de arquivos menores. Abra seu diretório pessoal, certifique-se de mostrar os arquivos ocultos ( Ctrl+ Hno Nautilus) e classifique por tamanho de arquivo.fonte
Isso geralmente é causado por arquivos em um diretório, que também possui um sistema de arquivos diferente. 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
oudf -h
).fonte