Monitorar a vida útil de SSDs NVMe é essencial para evitar falhas inesperadas, perda de dados e downtime em servidores Linux. SSDs NVMe são rápidos, mas não são eternos. Diferente de HDs, eles morrem por desgaste de escrita, e o principal indicador disso é o TBW (Total Bytes Written).
A boa notícia?
👉 O NVMe te conta quando está morrendo — se você souber onde olhar.
🔍 O que é TBW (Total Bytes Written)?
TBW indica quantos dados já foram gravados fisicamente no SSD ao longo da vida útil.
Exemplo:
- SSD NVMe de 1 TB com TBW de 600 TB
- Significa que o fabricante garante ~600 TB de escrita antes do desgaste crítico
💡 Importante:
- Leitura NÃO desgasta
- Escrita = desgaste real das células NAND
🧠 Por que monitorar TBW é melhor que “esperar falhar”?
Porque falha de SSD não avisa com barulho, como HD.
Ele simplesmente:
- entra em modo read-only
- começa a gerar I/O error
- some do sistema
Monitorar TBW permite:
- Planejar troca
- Evitar downtime
- Migrar dados com calma
- Evitar corrupção silenciosa
🧰 Ferramenta essencial: nvme-cli
Instalação
Debian / Ubuntu
apt install nvme-cli
RHEL / AlmaLinux / Rocky
dnf install nvme-cli
📊 Identificando seus discos NVMe
nvme list
Exemplo de saída:
/dev/nvme0n1 Samsung SSD 980 PRO 1TB
📈 Como ver o TBW real do SSD NVMe
Comando principal
nvme smart-log /dev/nvme0n1
Campos importantes
Procure por:
Data Units Written: 123,456,789 Percentage Used: 12% Media and Data Integrity Errors: 0 Critical Warning: 0
🔢 Convertendo “Data Units Written” em TBW
Cada Data Unit = 512.000 bytes (512 KB)
Fórmula:
TBW = DataUnits × 512.000 ÷ 1.000.000.000.000
Exemplo prático
Data Units Written: 123.456.789
123456789 × 512000 = 63.2 TB escritos
💡 Dica rápida via terminal
echo "scale=2; 123456789*512000/1000000000000" | bc
📉 Interpretando o campo “Percentage Used”
Esse campo é ouro puro:
Percentage Used: 12%
Significa:
- 0% → SSD novo
- 100% → Vida útil estimada esgotada
- 100% → Funcionando fora da especificação (perigo real)
Regra prática de sysadmin:
| Percentage Used | Ação recomendada |
|---|---|
| < 70% | OK |
| 70–85% | Monitorar semanalmente |
| 85–95% | Planejar substituição |
| >95% | Backup urgente + troca |
🚨 Alertas críticos que indicam morte próxima
Fique atento se algum desses aparecer:
Critical Warning != 0 Media and Data Integrity Errors > 0 Percentage Used > 90%
Ou no kernel:
dmesg | grep -i nvme
Mensagens como:
I/O errorcontroller is downresetting controller
⚠️ Isso já é pré-falha ou falha ativa.
⏱️ Automatizando monitoramento (cron)
Exemplo simples para log diário:
nvme smart-log /dev/nvme0n1 >> /var/log/nvme-health.log
Ou alerta básico:
nvme smart-log /dev/nvme0n1 | grep "Percentage Used"
Você pode integrar isso com:
- Zabbix
- Prometheus
- Netdata
- Script Bash + Telegram/Slack
🔥 O que MAIS consome TBW sem você perceber?
Vilões clássicos:
- Swap em SSD
- Logs excessivos (access.log, error.log)
- Banco de dados sem tuning (MariaDB / PostgreSQL)
- Cache mal configurado
- Containers escrevendo demais (
overlay2) - WordPress com WP-Cron descontrolado
💡 SSD morre mais por má configuração do que por idade.
🧠 NVMe x SATA SSD: diferença no monitoramento?
| Item | NVMe | SATA SSD |
|---|---|---|
| Ferramenta | nvme-cli | smartctl |
| Métrica TBW | Data Units Written | Total_LBAs_Written |
| Precisão | Muito alta | Variável |
| Alertas | Mais claros | Dependem do fabricante |
✅ Checklist de prevenção real
- Monitorar TBW mensalmente
- Alertar acima de 80%
- Evitar swap agressivo
- Ajustar logs
- Backup sempre testado
- Planejar troca antes do desastre
🧨 Verdade inconveniente
“SSD não falha do nada.
Ele avisa — só ninguém olha.”
FAQ
TBW (Total Bytes Written) indica a quantidade total de dados gravados fisicamente no SSD ao longo de sua vida útil. Esse valor é usado para medir o desgaste real das células NAND e prever quando o disco pode falhar.
Você pode verificar o TBW usando o comando nvme smart-log /dev/nvmeXn1. O campo Data Units Written mostra a quantidade total de dados gravados no disco desde o primeiro uso.
O campo Percentage Used indica quanto da vida útil estimada do SSD já foi consumida. Valores acima de 80% indicam desgaste avançado e recomendam planejamento de substituição.
Sim. Diferente de HDs, SSDs NVMe não apresentam falhas mecânicas visíveis. Em muitos casos, eles entram em modo somente leitura ou param de responder repentinamente se o desgaste não for monitorado.
Até 70% é considerado seguro. Entre 70% e 85% é recomendado monitoramento frequente. Acima de 90%, o ideal é realizar backup imediato e planejar a troca do disco.
Uso excessivo de swap, logs mal configurados, bancos de dados sem tuning, containers escrevendo constantemente em disco e aplicações mal otimizadas são as principais causas de desgaste acelerado.
Não necessariamente. SSDs NVMe geralmente possuem TBW maior e melhor controle de desgaste, mas por serem mais rápidos, também podem ser mais exigidos em ambientes mal configurados.

