Como otimizar o espaço de armazenamento no Linux

15 min de leitura - 22 de maio de 2026

hero section cover
Índice
  • Como otimizar o espaço de armazenamento no Linux
  • Descobrir o que está a ocupar o seu disco
  • Limpar caches de pacotes, registos e duplicados
  • Otimização ao nível do sistema de ficheiros
  • Automatização da manutenção do armazenamento
  • Tirar o máximo partido de cada gigabyte
Partilhar

Técnicas práticas para recuperar e otimizar o espaço em disco em servidores Linux, desde a limpeza da cache de pacotes até à afinação do sistema de ficheiros e manutenção automatizada.

Como otimizar o espaço de armazenamento no Linux

Durante anos, a resposta padrão para um disco cheio era simples: adicionar mais armazenamento. O armazenamento era barato. Isso já não é o caso. Os preços da memória flash NAND dispararam desde o final de 2025, impulsionados pela procura de infraestruturas de IA que consomem a capacidade de produção global. Os preços dos contratos de SSD empresariais subiram 85-90% só no primeiro trimestre de 2026, as unidades NVMe para consumidores praticamente duplicaram de preço de retalho e não se espera que a nova capacidade de produção de NAND entre em funcionamento antes de 2027.

O resultado: cada gigabyte no seu servidor custa mais do que há um ano, e isso torna a otimização do que já possui um investimento muito melhor do que comprar mais espaço. Esta publicação aborda como descobrir o que está a ocupar o seu espaço em disco, limpá-lo e configurar o seu sistema de ficheiros para utilizar o armazenamento de forma mais eficiente.


 

Descobrir o que está a ocupar o seu disco

Comece por df -h para obter um instantâneo de todos os sistemas de ficheiros montados, incluindo o tamanho total, o espaço utilizado e a percentagem de utilização. Qualquer partição acima de 90% requer atenção. Verifique partições específicas individualmente, se necessário:

df -h /
df -h /boot

Não ignore os inodes. Um sistema de ficheiros pode ter espaço livre, mas sem inodes disponíveis, o que causa as mesmas falhas. Verifique com df -i.

Se df mostrar 100% de utilização, mas os números não baterem certo, é provável que tenha ficheiros fantasma. Estes são ficheiros que foram eliminados, mas que ainda estão abertos por um processo em execução. O espaço não será recuperado até que o processo liberte o identificador do ficheiro. Encontre-os com:

sudo lsof / | grep deleted

Assim que souber quais os sistemas de ficheiros que estão sob pressão, analise os diretórios com du ou ncdu. Para verificações rápidas ou scripts, du é a ferramenta certa:

du -h --max-depth=1 /var

Adicione -x ao fazer a verificação a partir da raiz para permanecer num único sistema de ficheiros e ignorar montagens virtuais como /proc. Para exploração interativa num servidor remoto, ncdu oferece-lhe uma interface de texto navegável onde pode ordenar por tamanho e eliminar ficheiros diretamente.

Recursoduncdu
InterfaceSaída estática da linha de comandosTUI interativa com navegação por teclas de seta
Ideal paraScripting e verificações rápidasExploração manual em servidores remotos
OrdenaçãoRequer canalização para sortIntegrado (por tamanho, nome, etc.)
Eliminação de ficheirosComando rm comandoIntegrado (prima d)

Limpar caches de pacotes, registos e duplicados

Três áreas representam consistentemente a maior parte do espaço recuperável: caches de pacotes, ficheiros de registo e ficheiros grandes ou duplicados.

Caches de pacotes e dependências órfãs

Cada instalação ou atualização deixa para trás ficheiros de pacotes em cache. Com o tempo, estes acumulam-se silenciosamente. Limpe-os de acordo com a sua distribuição:

TarefaDebian/Ubuntu (APT)Fedora/RHEL (DNF)Arch (Pacman)
Limpar cachesudo apt cleansudo dnf clean allsudo paccache -r
Remover arquivos órfãossudo apt autoremovesudo dnf autoremovepacman -Rs $(pacman -Qdtq)
Limpar configurações remanescentessudo apt autoremove --purgeGerido pelo autoremoveN/A

Visualize primeiro as alterações com sudo apt autoremove --dry-run. Os kernels antigos podem ocupar 1,5 GB ou mais em sistemas Ubuntu. Mantenha sempre o kernel em execução e uma cópia de segurança antes de remover versões mais antigas.

Se utilizar o Snap ou o Flatpak, estes também acumulam revisões e tempos de execução:

sudo snap set system refresh.retain=2
flatpak uninstall --unused

Ficheiros de registo em /var/log

Os registos são os maiores consumidores silenciosos de espaço em disco. Encontre primeiro os registos de tamanho excessivo:

du -xhd1 /var/log | sort -h
find /var/log -type f -size +100M

Para os diários do systemd, use a ferramenta vacuum integrada em vez de eliminar ficheiros manualmente:

sudo journalctl --vacuum-size=500M

Para definir um limite permanente, edite /etc/systemd/journald.conf:

SystemMaxUse=500M
MaxRetentionSec=14day

Para ficheiros de registo ativos ainda mantidos abertos por um serviço, não utilize rm. O espaço não será libertado enquanto o processo mantiver o descritor de ficheiro. Em vez disso, utilize o comando truncate:

sudo truncate -s 0 /var/log/syslog

Ficheiros grandes e duplicados

Encontre ficheiros com mais de 500 MB em todo o sistema:

sudo find / -type f -size +500M -exec ls -lh {} +

Para duplicados, rmlint utiliza comparações baseadas em hash para detetar ficheiros duplicados, diretórios vazios e ligações simbólicas quebradas. Analise cuidadosamente a sua saída antes de remover qualquer coisa, especialmente em servidores onde ficheiros idênticos podem desempenhar funções diferentes.

Otimização ao nível do sistema de ficheiros

Depois de limpar os ficheiros, pode obter mais espaço utilizável do mesmo hardware ajustando o seu sistema de ficheiros.

Reduzir o espaço reservado do ext4

Por predefinição, o ext4 reserva 5% do sistema de ficheiros para a raiz. Numa partição de dados de 2 TB, isso significa 100 GB ociosos. Num servidor dedicado onde a partição de dados não é o sistema de ficheiros raiz, pode reduzir isto com segurança:

sudo tune2fs -m 1 /dev/sdXn

Isto define a reserva para 1%, o que é suficiente para a maioria dos casos de utilização. Verifique a alteração com tune2fs -l /dev/sdXn.

Compressão transparente do Btrfs

O Btrfs suporta compressão transparente de ficheiros, algo que o ext4 e o XFS não oferecem. Monte com compress=zstd para comprimir dados automaticamente durante a gravação. O ZSTD oferece um bom equilíbrio entre velocidade e taxa de compressão. Para cargas de trabalho com ficheiros mistos, compress-force=zstd pode proporcionar uma poupança adicional de 10-20% ao comprimir ficheiros que a heurística normalmente ignoraria.

Para comprimir dados existentes num volume Btrfs:

btrfs filesystem defragment -czstd /path/to/dir

Tenha cuidado com isto em volumes que tenham instantâneos ou reflinks. A desfragmentação quebra as relações de Copy-on-Write, o que pode, na verdade, aumentar a utilização do disco.

Tanto o XFS como o Btrfs suportam reflinks, que criam cópias de ficheiros que partilham blocos físicos até que uma cópia seja modificada. Isto é útil para clonar imagens de disco de máquinas virtuais ou camadas de contentores sem duplicar o consumo de armazenamento:

cp --reflink=always source.img clone.img

Provisionamento Thin do LVM

O provisionamento dinâmico do LVM permite-lhe alocar mais espaço lógico do que aquele de que dispõe fisicamente, consumindo espaço real no disco apenas à medida que os dados são gravados. Isto é valioso ao executar várias máquinas virtuais ou contentores que necessitam, cada um, do seu próprio volume lógico, mas que não os irão preencher todos simultaneamente.

Para evitar que os pools thin fiquem esgotados, ative a extensão automática no /etc/lvm/lvm.conf definindo thin_pool_autoextend_threshold e thin_pool_autoextend_percent.

Automatização da manutenção do armazenamento

As limpezas manuais funcionam uma vez. As automatizadas mantêm os seus discos em bom estado entre agora e a próxima vez que iniciar sessão. Utilize systemd temporizadores sempre cron sempre que possível. Registam a saída journalctl automaticamente e Persistent=true recupera as execuções perdidas após um reinício.

FerramentaFrequênciaFrequência
Rotação de logslogrotateDiária ou semanal
Aspiração do diáriojournalctl --vacuum-timeSemanal
Limpeza da cache de pacotesapt clean / dnf clean allMensalmente
Eliminação de ficheiros temporáriossystemd-tmpfilesDiariamente
Limpeza do Dockerdocker system pruneSemanal
Monitorização da utilização do discoScript personalizado + temporizador do systemdA cada 15-30 min

O Docker merece atenção especial. Os registos dos contentores podem crescer sem qualquer aviso visível. Limite o tamanho dos registos globalmente editando /etc/docker/daemon.json. Defina max-size e max-file sob a log-opts chave para evitar que contentores individuais encham o seu disco.

Para uma monitorização proativa, configure um sistema de alertas de dois níveis: um aviso quando a utilização do disco atingir 80% e um alerta crítico quando atingir 90%. Registe a utilização do disco de hora a hora para poder acompanhar as tendências de crescimento e prever quando uma partição atingirá a sua capacidade máxima:

0 * * * * df --output=source,size,used,pcent >> /var/log/disk_usage.csv

Mais uma medida de segurança: monte /var, /tmpe /home em partições separadas. Isto evita que registos descontrolados ou dados de utilizador consumam o sistema de ficheiros raiz e provoquem a falha de todo o sistema.

Tirar o máximo partido de cada gigabyte

Com os preços do armazenamento a subir e sem previsão de alívio até que a nova produção de NAND entre em funcionamento em 2027, otimizar o que tem não é apenas uma boa prática. Poupa dinheiro a sério. A abordagem é simples:

  • Audite a utilização do seu disco com df, due ncdu antes de efetuar quaisquer alterações.
  • Limpe as caches dos pacotes, rode os registos e remova duplicados para recuperar espaço imediatamente.
  • Ajuste o seu sistema de ficheiros. Reduza os blocos reservados do ext4, ative a compressão do Btrfs ou utilize o provisionamento dinâmico do LVM para tirar mais partido do mesmo hardware.
  • Automatize a manutenção com temporizadores do systemd para que os seus discos permaneçam limpos entre as auditorias.
  • Monitorize as tendências de utilização e defina alertas a 80% e 90% para detetar problemas atempadamente.

Se precisar de uma infraestrutura de servidores dedicados com armazenamento NVMe de alto desempenho, os servidores dedicados da FDC foram concebidos para isso.

Blogue

Em destaque esta semana

Mais artigos
Porque é que é importante ter um VPS potente e ilimitado

Porque é que é importante ter um VPS potente e ilimitado

Precisa de um desempenho fiável e de tráfego ilimitado? Um poderoso VPS ilimitado oferece a velocidade, a escalabilidade e a largura de banda de que necessita, sem se preocupar com limites de utilização.

3 min de leitura - 9 de maio de 2025

Como otimizar o espaço de armazenamento no Linux

15 min de leitura - 22 de maio de 2026

Mais artigos