---
title: "Disco cheio no Linux: o que ocupa espaço? | RoxyCloud"
description: "Descubra o que enche o disco da VPS com df, du, ncdu e find, limpe journal, apt e Docker com segurança e libere o espaço preso por arquivo apagado."
url: "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps"
category: "servidor-vps-cloud"
categoryLabel: "Servidor VPS (Cloud)"
slug: "disco-cheio-linux-ver-espaco-vps"
datePublished: "2026-09-17"
dateModified: "2026-09-17"
author: "Equipe RoxyCloud"
language: "pt-BR"
readingMinutes: 7
json: "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps.json"
---

# Disco cheio no Linux: como ver o que ocupa espaço na VPS

Descubra o que enche o disco da VPS com df, du, ncdu e find, limpe journal, apt e Docker com segurança e libere o espaço preso por arquivo apagado.

**Resposta rápida:** para ver o espaço em disco no Linux, rode `df -h`. Para descobrir o que está ocupando, use `sudo du -xh --max-depth=1 / | sort -h` e desça pela maior pasta, ou navegue com `sudo ncdu -x /`. Os suspeitos mais comuns são **journal, logs, cache do apt, imagens do Docker e backups esquecidos**. Se o `df` mostra disco cheio e o `du` não acha nada, procure arquivos apagados ainda abertos com `sudo lsof +L1`.

## Comece pelo df: o que encheu

```bash
df -hT
df -i
```

```
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda1      ext4    39G   37G  1.6G  96% /
tmpfs          tmpfs  197M  1.1M  196M   1% /run
```

Olhe a linha montada em `/`, a raiz, onde o problema está em quase todos os casos. As linhas `tmpfs` ficam na memória e não ocupam disco. O nome do disco (`/dev/sda1`, `/dev/vda1`) varia conforme a VPS. Se *Size* menos *Used* não bate com *Avail*, é normal: o ext4 reserva cerca de 5% para o root conseguir trabalhar com o disco cheio.

O `df -i` mostra os **inodes**, as entradas que o sistema usa para cada arquivo. Se `IUse%` está em 100% com espaço sobrando, o problema são milhões de arquivos pequenos: sessões de PHP, cache ou fila de e-mail. Para achar onde, conte arquivos em vez de bytes:

```
sudo du --inodes -x --max-depth=1 / | sort -n
```

Aja cedo: com o disco cheio, o banco para de gravar, aplicações falham e atualizações do apt quebram no meio.

## As pastas mais pesadas com du e ncdu

O `du` soma o tamanho de cada pasta. Olhe um nível por vez e desça sempre pela maior:

```bash
sudo du -xh --max-depth=1 / 2>/dev/null | sort -h
sudo du -xh --max-depth=1 /var 2>/dev/null | sort -h
sudo du -xh --max-depth=1 /var/lib 2>/dev/null | sort -h
```

O `-x` não entra em outros sistemas de arquivos, o `-h` mostra tamanhos legíveis e o `sort -h` põe a maior pasta por último. Para investigar com mais conforto, o `ncdu` varre uma vez e deixa você navegar com as setas:

```bash
sudo apt install -y ncdu
sudo ncdu -x /
```

Enter entra na pasta, a seta para a esquerda volta, **d** apaga (com confirmação) e **q** sai.

> **Atenção:** não apague nada dentro de `/var/lib/mysql`, `/var/lib/postgresql` ou `/var/lib/docker` com `rm` ou pelo ncdu. Esses diretórios são controlados pelos próprios programas, e remover arquivos na mão corrompe o banco ou o Docker. A limpeza deles é feita pelos comandos mostrados mais abaixo.

## Arquivos grandes com find

```bash
# arquivos acima de 500 MB, do maior para o menor
sudo find / -xdev -type f -size +500M -exec du -h {} + 2>/dev/null | sort -rh | head -n 20

# arquivos acima de 100 MB alterados nos últimos 7 dias
sudo find / -xdev -type f -size +100M -mtime -7 -exec ls -lh {} + 2>/dev/null

# dumps e backups compactados esquecidos
sudo find / -xdev -type f \( -name "*.sql" -o -name "*.sql.gz" -o -name "*.tar.gz" -o -name "*.zip" \) -size +100M -exec du -h {} + 2>/dev/null | sort -rh
```

O segundo comando é o melhor quando o disco encheu de repente: o culpado quase sempre é recente.

## Os suspeitos de sempre

| Onde | O que acumula | Limpeza segura |
| --- | --- | --- |
| `/var/log/journal` | Journal do systemd, pode passar de 1 GB | `journalctl --vacuum` e limite no `journald.conf` |
| `/var/log` | Logs e versões rotacionadas | Apagar os `.gz` antigos e esvaziar com `truncate` o log em uso |
| `/var/cache/apt` | Pacotes baixados nas atualizações | `apt clean` |
| `/boot` e `/usr/lib/modules` | Kernels antigos | `apt autoremove --purge` |
| `/var/lib/snapd` | Revisões antigas de snaps | Remover revisões desativadas |
| `/var/lib/docker` | Imagens, containers parados, cache e logs | Comandos `prune` do Docker |
| `/home` e `/root` | Backups, dumps e downloads esquecidos | Mover para fora da VPS e apagar |
| `/var/lib/mysql` | Binlogs do MySQL ou MariaDB | `PURGE BINARY LOGS` e prazo de expiração |

```bash
# journal
journalctl --disk-usage
sudo journalctl --vacuum-size=200M

# cache do apt e kernels antigos
sudo apt clean
sudo apt autoremove --purge

# snaps: manter só duas revisões daqui em diante
snap list --all | awk '/disabled/{print $1, $3}'
sudo snap remove NOME_DO_SNAP --revision=NUMERO
sudo snap set system refresh.retain=2
```

Para o journal não voltar a crescer, defina `SystemMaxUse=200M` em `/etc/systemd/journald.conf` e rode `sudo systemctl restart systemd-journald`. Evite `rm` em `/var/log` inteiro: alguns serviços, como o Nginx, nem iniciam se a pasta de log sumir. Apague arquivos, não a estrutura.

## Docker: imagens, volumes e logs

Em VPS com containers, o Docker é o culpado mais frequente. Cada deploy baixa uma imagem nova e a antiga fica, o cache de build cresce e o log de cada container cresce sem limite na configuração padrão.

```bash
docker system df
docker container prune   # containers parados
docker image prune -a    # imagens que nenhum container usa
docker builder prune     # cache de build
```

Volumes guardam dados de banco e uploads. Liste com `docker volume ls`, confira a quem pertence cada um e só então remova o que for lixo. Nunca rode limpeza de volumes no automático.

Para limitar o log dos containers, crie ou edite `/etc/docker/daemon.json`:

```json
{
  "log-driver": "json-file",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}
```

Reinicie com `sudo systemctl restart docker`. O limite vale só para containers criados depois; recrie os existentes, por exemplo com `docker compose up -d --force-recreate`.

## df mostra cheio, mas o du não acha nada

A causa mais comum é um arquivo apagado que continua aberto por algum processo. Alguém removeu um log de 10 GB com `rm` enquanto o serviço ainda escrevia nele: o nome sumiu, mas o Linux só libera o espaço quando o processo fecha o arquivo.

```
sudo lsof +L1
```

A lista mostra arquivos marcados como *deleted*, com o processo (`COMMAND` e `PID`) e o tamanho. A solução mais limpa é reiniciar o serviço dono do arquivo com `systemctl restart`. Se não puder reiniciar agora, esvazie pelo descritor, usando o número da coluna `FD` sem a letra:

```bash
# exemplo: PID 1234 e FD 3w na saída do lsof
sudo truncate -s 0 /proc/1234/fd/3
```

Para não cair nisso de novo, em vez de apagar um log em uso, esvazie: `sudo truncate -s 0 /caminho/arquivo.log`.

## Evitar que o disco encha de novo

- Alerta quando o disco e os inodes passarem de 80% (veja [monitorar a VPS 24 horas](https://ajuda.roxycloud.com.br/artigos/monitorar-vps-24-horas) ).
- Limite do journal no `journald.conf` e regra de logrotate para cada log de aplicação.
- Limite de log nos containers Docker.
- Backups enviados para fora da VPS, com retenção automática (veja [backup com rsync](https://ajuda.roxycloud.com.br/artigos/backup-automatico-linux-rsync) ).
- Rotina mensal com `apt autoremove` e limpeza de imagens antigas do Docker.

## Quando limpar não basta

Se o disco volta a passar de 80% em poucas semanas, os dados estão crescendo de verdade: banco, uploads, mundos de jogo. A resposta é mais disco. Nas VPS da RoxyCloud, todas com NVMe, o disco cresce junto com o plano: por exemplo, a linha Xeon vai de 20 GB no plano de 2 GB a 300 GB no de 64 GB, e a Ryzen 9 vai de 35 GB a 250 GB. O upgrade é feito sem recontratar (veja [upgrade e downgrade](https://ajuda.roxycloud.com.br/artigos/upgrade-downgrade-plano-roxycloud)). Depois do upgrade, pode ser preciso expandir a partição e o sistema de arquivos; no Windows, siga [como expandir o disco no Windows](https://ajuda.roxycloud.com.br/artigos/expandir-disco-windows-vps). Para grandes volumes de dados, compare os [servidores dedicados](https://roxycloud.com.br/servidores-dedicados).

## Perguntas frequentes

**Qual comando mostra o espaço em disco no Linux?**

O `df -h` mostra tamanho, uso e espaço livre de cada sistema de arquivos. Para ver quais pastas ocupam esse espaço, use `sudo du -xh --max-depth=1 /` ou o `ncdu`.

**Por que o df mostra disco cheio e o du não encontra os arquivos?**

Quase sempre é um arquivo apagado que continua aberto por um processo. Rode `sudo lsof +L1` para achar o processo e reinicie o serviço para liberar o espaço.

**Posso apagar a pasta /var/log inteira?**

Não. Alguns serviços nem iniciam se a pasta de log sumir. Apague só os arquivos antigos, esvazie o log em uso com `truncate` e limite o journal.

**Como liberar o espaço usado pelo Docker?**

Veja o que pode ser recuperado com `docker system df` e use `docker image prune`, `docker builder prune` e `docker container prune`. Cuidado com volumes, que guardam dados.

**O que são inodes e por que eles acabam?**

Inode é a entrada que o sistema usa para cada arquivo e pasta. Milhões de arquivos pequenos podem esgotar os inodes antes do espaço. O `df -i` mostra o uso.

## Guias relacionados

- [RDP não conecta na VPS Windows? Use o console VNC do painel](https://ajuda.roxycloud.com.br/artigos/console-vnc-vps-windows-rdp-nao-conecta.md)
- [Como monitorar uma VPS 24 horas: alertas, uptime e métricas](https://ajuda.roxycloud.com.br/artigos/monitorar-vps-24-horas.md)
- [Como monitorar a VPS com htop e Netdata](https://ajuda.roxycloud.com.br/artigos/htop-e-netdata-monitorar-vps.md)
- [Como instalar o Portainer na VPS para gerenciar o Docker](https://ajuda.roxycloud.com.br/artigos/como-instalar-portainer-vps.md)
- [SCP e rsync: como transferir arquivos para a VPS](https://ajuda.roxycloud.com.br/artigos/scp-e-rsync-transferir-arquivos-vps.md)

## Produtos citados

- https://roxycloud.com.br/servidores-dedicados

## Fonte

Central de Ajuda RoxyCloud: https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps

## Dados estruturados

```json
[
  {
    "@type": "Article",
    "@id": "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps#article",
    "headline": "Disco cheio no Linux: o que ocupa espaço?",
    "description": "Descubra o que enche o disco da VPS com df, du, ncdu e find, limpe journal, apt e Docker com segurança e libere o espaço preso por arquivo apagado.",
    "url": "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps",
    "articleSection": "Servidor VPS (Cloud)",
    "inLanguage": "pt-BR",
    "isAccessibleForFree": true,
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps#webpage"
    },
    "image": [
      "https://ajuda.roxycloud.com.br/og-ajuda.png"
    ],
    "author": {
      "@type": "Organization",
      "name": "RoxyCloud"
    },
    "publisher": {
      "@type": "Organization",
      "name": "RoxyCloud",
      "logo": {
        "@type": "ImageObject",
        "url": "https://cdn.roxycloud.com.br/logo.png"
      }
    },
    "datePublished": "2026-09-17T14:15:17.000Z",
    "dateModified": "2026-09-17T15:16:17.000Z"
  },
  {
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Início",
        "item": "https://ajuda.roxycloud.com.br"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Servidor VPS (Cloud)",
        "item": "https://ajuda.roxycloud.com.br/categorias/servidor-vps-cloud"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Disco cheio no Linux: como ver o que ocupa espaço na VPS",
        "item": "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps"
      }
    ]
  },
  {
    "@type": "FAQPage",
    "@id": "https://ajuda.roxycloud.com.br/artigos/disco-cheio-linux-ver-espaco-vps#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Qual comando mostra o espaço em disco no Linux?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "O df -h mostra tamanho, uso e espaço livre de cada sistema de arquivos. Para ver quais pastas ocupam esse espaço, use sudo du -xh --max-depth=1 / ou o ncdu."
        }
      },
      {
        "@type": "Question",
        "name": "Por que o df mostra disco cheio e o du não encontra os arquivos?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Quase sempre é um arquivo apagado que continua aberto por um processo. Rode sudo lsof +L1 para achar o processo e reinicie o serviço para liberar o espaço."
        }
      },
      {
        "@type": "Question",
        "name": "Posso apagar a pasta /var/log inteira?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Não. Alguns serviços nem iniciam se a pasta de log sumir. Apague só os arquivos antigos, esvazie o log em uso com truncate e limite o journal."
        }
      },
      {
        "@type": "Question",
        "name": "Como liberar o espaço usado pelo Docker?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Veja o que pode ser recuperado com docker system df e use docker image prune, docker builder prune e docker container prune. Cuidado com volumes, que guardam dados."
        }
      },
      {
        "@type": "Question",
        "name": "O que são inodes e por que eles acabam?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Inode é a entrada que o sistema usa para cada arquivo e pasta. Milhões de arquivos pequenos podem esgotar os inodes antes do espaço. O df -i mostra o uso."
        }
      }
    ]
  }
]
```
