NCDU para analisar Espaço em Disco no Linux

Publicado em 08/02/2024

A gestão eficiente do espaço em disco é essencial para administradores de sistemas, desenvolvedores e proprietários de hospedagem de sites ou servidores dedicados. O NCDU é uma ferramenta que ajuda nessa tarefa, permitindo uma análise detalhada do uso do disco. Este artigo mostra como o NCDU funciona, além de outras técnicas complementares para otimizar o armazenamento.

Entendendo o NCDU

O NCDU, abreviação de NCurses Disk Usage, é uma ferramenta baseada em texto para Linux e outros sistemas Unix-like que facilita a visualização do uso de espaço em disco. Com uma interface ncurses, ele permite navegar pelos diretórios e arquivos e ver quais itens consomem mais espaço, o que ajuda na limpeza e otimização do armazenamento em sistemas, servidores e hospedagens de sites.

Instalar o NCDU é simples na maioria das distribuições: geralmente basta um comando como sudo apt-get install ncdu em sistemas baseados em Debian, ou o equivalente em outras distribuições. Depois de instalado, basta executar ncdu em um terminal. Por padrão, ele analisa o diretório atual e seus subdiretórios, exibindo uma lista ordenada com os que ocupam mais espaço no topo.

O NCDU também tem opções avançadas: dá para excluir diretórios da análise, visualizar o uso do espaço em formatos diferentes e exportar os dados para análise posterior, tudo através de atalhos de teclado dentro do programa.

Sua principal vantagem é combinar simplicidade com boas capacidades de visualização e gerenciamento. Em ambientes com espaço limitado ou quando é preciso fazer uma limpeza rápida, o NCDU ajuda a identificar os principais consumidores de espaço e agir imediatamente, numa interface simples de usar.

Técnicas complementares de otimização de espaço em disco

Além do NCDU, outras práticas ajudam a manter a eficiência operacional, especialmente em servidores dedicados e hospedagens de sites, onde o espaço costuma ser limitado.

Limpeza de arquivos temporários e cache

Arquivos temporários e caches acumulam rápido. Ferramentas como clean e rm limpam esses arquivos periodicamente, e utilitários como tmpwatch e tmpreaper automatizam a limpeza de diretórios temporários. Limpar o cache do gerenciador de pacotes da distribuição também libera espaço.

Compactação e arquivamento de dados

Compactar arquivos e diretórios pouco usados economiza espaço. O tar combinado com gzip ou bzip2 é uma boa opção: arquivos compactados ocupam menos espaço e podem ser descompactados quando necessário.

Sistemas de arquivos mais eficientes

Escolher o sistema de arquivos certo também importa. Sistemas como Btrfs e ZFS oferecem deduplicação e compressão em tempo real, o que reduz o uso de espaço sem sacrificar desempenho.

Monitoramento regular

Ferramentas como du, df e painéis web de monitoramento dão uma visão contínua do uso do disco. Alertas baseados em limiares de uso ajudam a agir antes que o espaço acabe.

Gerenciamento de logs

Logs de sistemas e aplicações podem crescer sem controle se não forem gerenciados. Configurar rotação e arquivamento automático com o logrotate mantém o consumo de espaço sob controle, com regras específicas por arquivo de log.

Casos de uso do NCDU e solução de problemas

Identificação de diretórios pesados

O NCDU é útil para achar rápido os diretórios e arquivos que ocupam mais espaço, principalmente em servidores dedicados e hospedagem de sites, onde o espaço costuma ser escasso.

Limpeza de dados obsoletos

Depois de identificar os maiores consumidores de espaço, dá para navegar até eles pelo próprio NCDU e avaliar se ainda são necessários. Logs antigos, caches de aplicativos e backups desatualizados são candidatos comuns à exclusão, que pode ser feita direto pela interface do programa.

Análise de impacto da limpeza

Rodar o NCDU antes e depois de uma limpeza ajuda a medir o impacto real no espaço livre e a planejar as próximas ações com base em dados concretos.

Espaço em disco caindo sem explicação

Às vezes o espaço em disco cai rápido por arquivos ou processos que consomem espaço sem que o administrador perceba, seja um log que cresceu demais ou um processo escrevendo dados em excesso. O NCDU ajuda a identificar e resolver esse tipo de problema rapidamente.

Algumas dicas práticas: verifique o uso do disco com regularidade, para evitar que problemas se tornem críticos; automatize análises periódicas com scripts que rodam o NCDU; e explore as opções de linha de comando, como limitar a profundidade da varredura ou excluir diretórios específicos.

Melhores práticas para manutenção de espaço em disco a longo prazo

A otimização do espaço em disco é um processo contínuo, não uma tarefa isolada. Algumas práticas ajudam a sustentar isso ao longo do tempo:

Definir políticas claras de armazenamento, com diretrizes sobre tamanho e tipo de arquivos permitidos, política de backup e retenção de dados, e procedimentos para eliminar dados obsoletos.

Automatizar a limpeza e a manutenção com scripts, incluindo limpeza de temporários, rotação de logs e execução regular do NCDU.

Monitorar o uso do disco continuamente, com soluções em tempo real que alertem sobre problemas antes que eles se tornem críticos.

Treinar usuários e equipes sobre a importância do gerenciamento de espaço e sobre as políticas adotadas.

Reavaliar periodicamente as necessidades de armazenamento, já que elas mudam conforme a organização cresce, seja migrando para sistemas de arquivos mais eficientes, atualizando hardware ou adotando soluções em nuvem.

Guia prático: instalando e utilizando o NCDU

AlmaLinux/RockyLinux/Red Hat Enterprise Linux (RHEL):

sudo dnf install ncdu
# Ou para versões que usam yum:
sudo yum install ncdu

Ubuntu/Debian:

sudo apt update
sudo apt install ncdu

Arch Linux:

sudo pacman -S ncdu

Utilizando o NCDU: exemplos práticos

Para analisar o diretório atual e seus subdiretórios:

ncdu

Para analisar um diretório específico, informe o caminho como argumento:

ncdu /path/to/directory

Para exportar os resultados da análise para um arquivo, útil para comparações posteriores:

ncdu -o /path/to/output_file.ncdu /path/to/directory

E para visualizar os dados exportados:

ncdu -f /path/to/output_file.ncdu

Principais comandos e sintaxes

  • Navegação: use as teclas de seta para cima e para baixo.
  • Excluir arquivo ou diretório: pressione d para deletar o item selecionado.
  • Ordenar resultados: pressione t para alternar o método de ordenação (nome, tamanho).
  • Ajuda: pressione ? para ver a tela com todos os atalhos disponíveis.

Maximizando a eficiência do espaço em disco com o NCDU

Gerenciar o espaço em disco importa para administradores de sistemas, desenvolvedores e donos de hospedagem de sites ou servidores dedicados. O NCDU facilita identificar e resolver problemas de armazenamento, mas a otimização completa vai além de uma única ferramenta.

Combinar limpeza regular de arquivos, políticas de armazenamento, treinamento das equipes e monitoramento contínuo ajuda a usar melhor os recursos de armazenamento, prolonga a vida útil do hardware e reduz custos.

O NCDU funciona melhor combinado com essas técnicas de otimização e uma gestão consciente dos recursos de armazenamento, incorporado à rotina de manutenção do servidor.