Como otimizar o espaço de armazenamento no Linux
15 min de leitura - 22 de maio de 2026

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 /bootNã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 deletedAssim 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 /varAdicione -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.
| Recurso | du | ncdu |
|---|---|---|
| Interface | Saída estática da linha de comandos | TUI interativa com navegação por teclas de seta |
| Ideal para | Scripting e verificações rápidas | Exploração manual em servidores remotos |
| Ordenação | Requer canalização para sort | Integrado (por tamanho, nome, etc.) |
| Eliminação de ficheiros | Comando rm comando | Integrado (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:
| Tarefa | Debian/Ubuntu (APT) | Fedora/RHEL (DNF) | Arch (Pacman) |
|---|---|---|---|
| Limpar cache | sudo apt clean | sudo dnf clean all | sudo paccache -r |
| Remover arquivos órfãos | sudo apt autoremove | sudo dnf autoremove | pacman -Rs $(pacman -Qdtq) |
| Limpar configurações remanescentes | sudo apt autoremove --purge | Gerido pelo autoremove | N/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 --unusedFicheiros 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 +100MPara os diários do systemd, use a ferramenta vacuum integrada em vez de eliminar ficheiros manualmente:
sudo journalctl --vacuum-size=500MPara definir um limite permanente, edite /etc/systemd/journald.conf:
SystemMaxUse=500M
MaxRetentionSec=14dayPara 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/syslogFicheiros 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/sdXnIsto 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/dirTenha 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.
Reflinks para cópias instantâneas
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.imgProvisionamento 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.
| Ferramenta | Frequência | Frequência |
|---|---|---|
| Rotação de logs | logrotate | Diária ou semanal |
| Aspiração do diário | journalctl --vacuum-time | Semanal |
| Limpeza da cache de pacotes | apt clean / dnf clean all | Mensalmente |
| Eliminação de ficheiros temporários | systemd-tmpfiles | Diariamente |
| Limpeza do Docker | docker system prune | Semanal |
| Monitorização da utilização do disco | Script personalizado + temporizador do systemd | A 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.csvMais 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,duencduantes 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.
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