CloudLinux LVE: Como limitar recursos de forma justa para evitar que um único site derrube o servidor inteiro.

O CloudLinux LVE é essencialmente o “policial de trânsito” para servidores de hospedagem compartilhada. Sem ele, um único site com um plugin mal otimizado ou um pico de tráfego pode consumir toda a CPU do servidor, causando o famoso efeito dominó.

O coração dessa tecnologia é o LVE (Lightweight Virtual Environment). Imagine-o como um contêiner isolado para cada usuário do cPanel/DirectAdmin.


Configurações Estratégicas de Limites

Para garantir que o servidor permaneça estável e a distribuição de recursos seja justa, você deve focar nestes cinco pilares:

1. Limite de CPU (SPEED)

Define a porcentagem total de um núcleo (ou múltiplos núcleos) que um usuário pode usar.

  • Recomendação: Entre 100% (1 núcleo) e 200% (2 núcleos).
  • O que acontece se exceder: O site não cai, mas fica lento. O CloudLinux “freia” os processos para que eles não roubem ciclos de CPU de outros vizinhos.

2. Memória Física (PMEM)

É o limite de RAM real que o usuário pode consumir.

  • Recomendação: Entre 512MB e 2GB (dependendo do plano).
  • O que acontece se exceder: O servidor retornará um erro 508 (Resource Limit Is Reached) ou o processo será encerrado, liberando memória para o resto do sistema.

3. Conexões Simultâneas (EP – Entry Processes)

Controla quantos scripts (como o index.php) podem ser executados ao mesmo tempo.

  • Recomendação: Entre 20 e 50 conexões.
  • Importância: Isso evita ataques de negação de serviço (DoS) ou scripts travados que esgotam as threads do Apache/Nginx.

4. IO e IOPS (Input/Output)

Define a velocidade de leitura e escrita no disco.

  • Recomendação: 1024 KB/s a 2048 KB/s.
  • Por que limitar: Impede que um usuário fazendo um backup pesado ou uma importação de banco de dados gigante “trave” o disco (I/O Wait), o que deixaria o servidor inteiro sem resposta.

Como Implementar de Forma Justa

A “justiça” no CloudLinux vem da criação de pacotes (Packages). Em vez de definir limites individuais, você deve:

  1. Categorizar seus clientes: Crie perfis como “Iniciante”, “Profissional” e “Business”.
  2. Monitorar o LVE Manager: Use a ferramenta lveinfo ou a interface gráfica no painel para ver quais usuários estão atingindo o limite (os chamados “Faults”).
  3. Habilitar o CageFS: Isso isola o sistema de arquivos. Além de segurança, impede que um usuário veja os processos do outro, o que ajuda na estabilidade geral.

Dica de Ouro: Não seja excessivamente rígido com a CPU, mas seja firme com a Memória e o IO. Um site lento é melhor que um site fora do ar, mas um disco sobrecarregado derruba todo mundo.


Comandos Úteis (CLI)

Se você estiver no terminal, pode gerenciar os limites rapidamente:

  • Verificar uso em tempo real: lvetop
  • Listar falhas recentes: lveinfo --user nome_usuario
  • Alterar limite de CPU de um usuário: uapi --user=usuario LVE edit_user speed=100

Aqui está uma sugestão de arquitetura de limites para três níveis de serviço, equilibrando performance e segurança:

Tabela Sugerida de Limites LVE

RecursoPlano Starter (P)Plano Profissional (M)Plano Business (G)
CPU (SPEED)100% (1 Core)150% (1.5 Cores)200% (2 Cores)
RAM (PMEM)1 GB2 GB4 GB
I/O (Escrita/Leitura)2 MB/s5 MB/s10 MB/s
IOPS102420484096
Processos (EP)204060
NPROC (Total Proc.)100150200

Por que esses valores?

  • 100% de CPU como base: Menos que 1 core inteiro pode causar gargalos severos em sites WordPress modernos que usam construtores visuais (como Elementor).
  • Memória Física (PMEM): Hoje em dia, 1 GB é o “mínimo aceitável” para rodar PHP com segurança sem gerar erros fatais frequentes.
  • IOPS e I/O: O limite de IOPS é crucial se você usa discos NVMe/SSD. Ele impede que um script de “scrapping” ou um backup mal configurado sature a fila de leitura do disco, o que afetaria a latência de todos os outros sites no servidor.
  • NPROC: Este é o limite total de processos. Ele deve ser sempre superior ao EP (Entry Processes), pois o EP conta apenas conexões web (Apache/PHP-FPM), enquanto o NPROC conta tudo, incluindo tarefas cron e acessos via SSH/FTP.

Como aplicar via Terminal

Se você quiser criar um perfil rapidamente para um plano “Profissional” via linha de comando no CloudLinux, pode usar:

lvemanage --set-profile --speed=150% --mem=2048M --io=5120 --iops=2048 --nproc=150 --maxEntryProcs=40 --profile=Profissional

O próximo passo

Monitorar as falhas é o que diferencia um admin de sistemas proativo. Se muitos usuários estão atingindo o limite de PMEM (Memória), pode ser hora de ajustar o cache de memória do servidor ou revisar a configuração do PHP-FPM.

FAQ

O que é o CloudLinux LVE?

O LVE (Lightweight Virtual Environment) é uma tecnologia a nível de kernel que isola cada usuário do servidor em seu próprio ambiente. Isso permite que você limite recursos como CPU, Memória e IO, garantindo que nenhum site consuma todos os recursos do servidor e prejudique outros usuários.

Por que meu site exibe o erro “508 Resource Limit Is Reached”?

Este erro ocorre quando o site atinge o limite de Entry Processes (Conexões Simultâneas) ou o limite de Memória (PMEM) definidos no LVE. É um mecanismo de defesa do CloudLinux para evitar que o processo do site sobrecarregue o sistema operacional.

Qual o limite de CPU ideal para um site WordPress?

Para a maioria dos sites WordPress que utilizam plugins como Elementor ou WooCommerce, o recomendável é um limite entre 100% (1 núcleo) e 150% (1.5 núcleos). Valores abaixo disso podem causar lentidão excessiva no painel administrativo do WP.

Limitar o IO/IOPS pode deixar o site lento?

Sim. Se o limite de IO (velocidade de disco) for muito baixo (ex: abaixo de 1MB/s), tarefas como uploads de imagens, backups e geração de cache demorarão muito mais, o que pode ser percebido como lentidão pelo visitante. O ideal é manter entre 2MB/s e 10MB/s.

O CloudLinux substitui o CageFS?

Não, eles trabalham juntos. O LVE cuida da limitação de recursos (hardware), enquanto o CageFS cuida do isolamento do sistema de arquivos (segurança). Juntos, eles formam a solução completa para servidores de hospedagem compartilhada.