Como posso determinar como minha partição está cheia, mesmo quando parece que não é?

3

Eu executei "df -kh" na minha caixa FreeBSD e vejo que / var está quase 100% cheio. Acabou, mas eu aparado o que posso, mas há menos de 500 MB no total na partição de acordo com a execução "du -ksh *", enquanto em / var. A partição / var em si é 6.8G e agora diz que só tem 18M de graça. Isso não se soma.

Eu corro o seguinte comando Eu não acho nenhum culpado.

 find . -type f -size +2000 -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

Eu até detalho pasta por pasta usando "du -ksh *" para identificar as pastas com muito uso de disco, mas não consigo descobrir como tudo isso é adicionado. Eu gostaria de comprimir, apagar ou mover arquivos, a fim de liberar mais espaço desde que as outras partições têm espaço, mas entre df e du eu não consigo encontrar o que está usando todo o espaço em disco.

O que mais devo fazer para encontrar os arquivos e pastas ocupando todo o espaço?

    
por Brennan Stehling 12.01.2012 / 01:07

3 respostas

1

Eu executei o seguinte, para que você tenha um bom instantâneo de todos os arquivos para trabalhar:

du -kx /var | sort -n | tee /var/tmp/du_results.out

... e depois veja as últimas centenas de linhas.

Isto irá capturar o tamanho de todos os diretórios (para capturar um grande número de arquivos pequenos), bem como capturar arquivos grandes comuns. Note que eu sou não usando -h (legível por humanos), para que os resultados sejam facilmente classificados numericamente. Note também que eu não estou usando /var/* , que também pegaria qualquer coisa montada em /var .

Os possíveis culpados incluem, em ordem aproximada de probabilidade:

  • Arquivos não vinculados antigos. Tente o que o @not simon sugeriu ( lsof /var ). /var/tmp às vezes é um lugar óbvio para encontrá-los. Se você não tiver o lsof instalado, poderá usar fstat -f /var | sort -k 8 -n , que não mostra nomes de arquivos, mas mostrará pelo menos os tamanhos (menor a maior), inodes e qual processo tem o arquivo aberto.

  • Corrupção do sistema de arquivos. Execute fsck do modo de usuário único para verificar /var .

  • Arquivos antigos ocultos em pontos de montagem. Se houver alguma montagem em /var , desmonte-as e, em seguida, execute sua pesquisa / diagnóstico novamente. A maneira mais segura de fazer isso é provavelmente inicializar no modo de usuário único e apenas montar /var sem montar nada sob ele.

As diferenças no relatório de tamanho de arquivo podem ser devido à presença de arquivos compactados ou esparsos. Você pode usar a opção -A para du para trabalhar com o tamanho aparente do arquivo em vez do uso do disco, o que pode explicar algumas discrepâncias. Coloque-o e depois deixe-o fora e compare os resultados. Na minha partição de aproximadamente 3.6Gb /var , os resultados com -A foram cerca de 100Mb menores.

    
por 16.01.2012 / 00:17
3

Você já pensou em ter um arquivo desvinculado que ainda esteja aberto? Tente examinar a saída de lsof /var para ver se há arquivos incomumente grandes listados.

    
por 14.01.2012 / 19:17
0

Eu tive um problema semelhante em que um disco foi embora. O ponto de montagem ainda existia, mas, por algum motivo, os arquivos estavam sendo gravados no diretório da partição que contém o ponto de montagem . Isso pode não se aplicar ao seu sistema operacional, mas a inicialização de um sistema de recuperação e a leitura das partições podem revelar mais.

    
por 31.01.2012 / 00:40