Os arquivos podem estar ocultos por um ponto de montagem.
(Um programa agendado (backup) deve ter sido executado enquanto eu estava com o volume secundário offline para manutenção, e recriou alegremente sua estrutura de diretório em vez de falhar.)
df
relata a partição 16G em 100%. du
nos relatórios de raiz sobre 1G em arquivos. Para onde foi todo o meu espaço em disco?
Os arquivos podem estar ocultos por um ponto de montagem.
(Um programa agendado (backup) deve ter sido executado enquanto eu estava com o volume secundário offline para manutenção, e recriou alegremente sua estrutura de diretório em vez de falhar.)
Além do desperdício de espaço que Doug discute , alguns sistemas de arquivos têm um número limitado de inodes (IDs de arquivo exclusivos) no total, e uma vez que eles sejam criados, não há como criar novos arquivos. Use df -i
para ver onde você está nos inodes.
Além disso, é possível que ext[23]
filesystems (e outros?) reservem uma fração do disco para o superusuário. Normalmente, isso é apenas alguns por cento (5 é típico em sistemas mais antigos), mas pode ser definido muito mais alto do que isso. Acredito que você queira usar tune2fs
aqui (o Mac OS e possivelmente outros unixes chamam isso de tunefs
) com a opção -m
.
Você pode ter programas em execução com arquivos desvinculados antigos abertos. Esses arquivos ainda são armazenados no disco até que esses programas sejam fechados, mas não serão vinculados a partir da árvore do sistema de arquivos.
Observe que isso é diferente do comportamento do Windows, que não permite excluir esse arquivo.
Você tem um grande número de arquivos muito pequenos? O Linux (e a maioria dos sistemas operacionais) grava arquivos em blocos do tamanho de blocos (digamos, 4k), e todo arquivo usa um múltiplo desse tamanho. Por exemplo, se você tiver um arquivo de 121 bytes, 4096 bytes ainda serão usados no disco. O resto do espaço nesse bloco é essencialmente "desperdiçado".
Eu tive exatamente este mesmo problema. Eu tive um problema em que meu disco de inicialização principal estava sendo preenchido depois de executar uma sincronização de unidades de backup.
>rsync -avxHAXW /media/backup1 /media/backup2
Após essa sincronização, meu disco principal estava cheio ... o que me intrigou. Acontece que eu estava acidentalmente copiando arquivos para o meu disco de inicialização, não meu backup2. Eu corrigi o erro, apaguei o arquivo massivo no meu disco principal e reran rsync. Mesmo depois de desmontar e remontar meus discos de backup, meu disco de inicialização estava sem espaço. Eu até tentei limpar arquivos grandes no meu disco de inicialização ...
>find . -type f -print0 | xargs -0 du -s | sort -n | tail -25 | cut -f2 | xargs -I{} du -sh {}
Excluiu todos os arquivos grandes que não eram mais necessários. Eu também me certifiquei de esvaziar o lixo.
>empty-trash
Depois de todo esse trabalho ... disco ainda está cheio. Eu decidi reiniciar a máquina. Após a reinicialização, minha partição de disco de inicialização passou de 100% cheia para 10% cheia! Parece que o processo de rsync deve ter continuado a ser executado em segundo plano, mantendo os recursos do disco. Eu odeio dar este conselho, mas depois de fazer toda a limpeza de disco você pode precisar reiniciar a sua máquina para matar todos os processos em segundo plano que estão pendurados em dados, impedindo que o disco seja realmente liberado.
Tags hard-drive ext3 linux disk-space