Uma VPS pode hospedar mais de um serviço: por exemplo, uma aplicação web, um worker de processamento e um banco de dados. Se um deles consumir memória ou CPU sem controle, os outros podem ficar lentos ou até parar. Em ambientes com containers, limites explícitos ajudam a conter esse risco — desde que sejam definidos a partir de medições, não de palpites.
Este guia explica como pensar nos limites por workload e quais sinais acompanhar antes de alterar a configuração.
O que os limites fazem — e o que não fazem
Containers compartilham o kernel do host. No Linux, cgroups organizam processos e permitem controlar a distribuição de recursos; a documentação do kernel descreve controladores de CPU e memória. No Docker, configurações como --cpus e --memory aplicam restrições ao container. Consulte as opções de recursos do Docker e a documentação oficial de cgroup v2.
Um limite não cria capacidade adicional nem garante desempenho. Um teto de CPU pode fazer o processo ser estrangulado (throttling) quando tenta usar mais; um limite de memória muito baixo pode levar a falhas por falta de memória. Swap pode servir de amortecedor em certas situações, mas uso frequente tende a penalizar a latência, como alerta a documentação do Docker.
Comece pelo perfil de cada serviço
Observe cada componente separadamente durante períodos representativos, incluindo horário de pico e tarefas agendadas:
- CPU: média, picos e duração dos picos; diferencie carga contínua de tarefas curtas.
- Memória: uso habitual, maior consumo observado e tendência de crescimento; considere cache e processos auxiliares.
- Disco: espaço livre, latência e operações de leitura/escrita — CPU e RAM não explicam toda lentidão.
- Rede e concorrência: quantidade de requisições ou jobs simultâneos e dependências externas.
Registre métricas antes de mexer nos limites. Compare a latência da aplicação e os erros com o uso de recursos. Uma média baixa pode esconder picos que só aparecem durante importações, backups ou campanhas.
Defina limites com margem e teste
Separe recursos para o próprio sistema operacional, serviços de infraestrutura e variações de carga. Não some toda a RAM da VPS como se estivesse integralmente disponível para containers: kernel, agentes e cache também precisam de espaço. Distribua limites conforme a importância e o padrão de cada serviço, deixando margem para picos.
Em Docker, um exemplo meramente ilustrativo é docker run --memory=512m --cpus=0.75 imagem. Esses valores não são recomendação universal: devem ser ajustados ao perfil medido, à configuração do host e ao comportamento da aplicação. A própria documentação explica que os containers não têm restrições por padrão e que as opções disponíveis dependem do suporte do kernel.
Faça mudanças graduais em ambiente de teste ou em janela controlada. Após cada alteração, valide fluxos críticos e compare latência, reinícios, erros e uso de CPU/memória. Evite impor limites baixos a um banco de dados ou a um worker sem conhecer sua demanda real.
Monitore sinais de limite inadequado
- Throttling de CPU recorrente junto com aumento de latência: o teto pode estar apertado ou a carga pode precisar ser distribuída.
- Reinícios e eventos de OOM (out of memory): investigue memória, concorrência e vazamentos antes de apenas elevar limites.
- Uso de swap persistente: procure pressão de memória; swap não substitui RAM para cargas sensíveis à latência.
- Um container monopoliza o host: revise limites, prioridade e isolamento entre serviços.
Limites ajudam a reduzir o impacto de um workload sobre os demais, mas não substituem atualizações, controle de acesso, firewall, backups e monitoramento do servidor.
Checklist antes de colocar em produção
- Identifique os serviços e suas dependências.
- Meça CPU, memória, disco e latência em períodos representativos.
- Reserve capacidade para o sistema e para picos previsíveis.
- Aplique limites progressivamente, com plano de reversão.
- Alarme para throttling, OOM, reinícios e crescimento de disco.
- Revise os números após mudanças de tráfego, versão ou rotina.
Quando considerar mais capacidade
Se medições sustentarem saturação mesmo após corrigir consultas, concorrência ou processos ineficientes, talvez seja necessário redimensionar a infraestrutura ou separar serviços. A decisão deve considerar o padrão de carga, a criticidade, a janela de pico e o custo operacional — não apenas um pico isolado.
Se sua empresa está avaliando uma VPS ou precisa revisar a configuração atual, conheça as opções de servidores e converse com a HAD Cloud sobre o cenário da sua aplicação. A configuração adequada depende do workload; não existe um dimensionamento único para todos.
Perguntas frequentes
Devo limitar todos os containers?
Definir limites pode evitar que um serviço consuma recursos sem controle, mas os valores precisam ser medidos e testados. Considere também os serviços essenciais do host.
Mais CPU sempre deixa a aplicação mais rápida?
Não necessariamente. A aplicação pode estar limitada por disco, banco de dados, rede, lock ou código. Diagnostique o gargalo antes de aumentar recursos.
Swap substitui memória RAM?
Não. Pode oferecer uma margem em certas situações, mas acesso frequente ao swap pode degradar o desempenho. Investigue a pressão de memória e a demanda real.

