Como Reduzir o Uso de CPU no DirectAdmin: Guia Completo

reduzir cpu directadmin

Parte 1: Introdução e Diagnóstico Inicial

Introdução ao Gerenciamento de Recursos no DirectAdmin

Manter um servidor estável é o desafio diário de qualquer administrador de sistemas. Quando o uso de CPU no DirectAdmin atinge níveis críticos, a experiência do usuário final é prejudicada: sites ficam lentos, e-mails demoram a ser processados e, em casos extremos, o servidor sofre um crash.

O DirectAdmin é um painel leve, mas ele gerencia serviços robustos que, se mal configurados, podem consumir ciclos de processamento de forma voraz. Entender como reduzir uso de CPU no DirectAdmin não é apenas uma questão de “apagar incêndios”, mas de configurar uma arquitetura sustentável.

O DirectAdmin é um dos painéis de controle mais utilizados para gerenciamento de servidores Linux em ambientes de hospedagem. Ele permite administrar serviços como Apache, Nginx, PHP, DNS e e-mail a partir de uma interface centralizada. Para entender melhor todas as funcionalidades do painel e aprender a administrar servidores com mais eficiência, veja também o guia completo do DirectAdmin para administradores.

Identificando o Vilão: Diagnóstico via SSH

Antes de aplicar qualquer mudança, precisamos saber quem está consumindo a CPU. O uso do terminal (SSH) é indispensável aqui.

O comando TOP e HTOP

O comando top é o ponto de partida. Ao executá-lo, observe a coluna %CPU. No entanto, para uma visão mais amigável, instale o htop:

Bash

yum install htop  # Para CentOS/CloudLinux
apt install htop  # Para Debian/Ubuntu

Com o htop, você consegue ver de forma colorida e organizada quais usuários e quais binários (php-fpm, mysql, nginx) estão no topo da lista. Se você notar muitos processos php-fpm de um único usuário, você encontrou o problema.

Verificando o I/O Wait

Às vezes, a CPU parece alta, mas o problema é o disco. No top, observe o valor %wa. Se estiver alto (acima de 10%), a CPU está “esperando” o disco ler ou gravar dados. Isso acontece muito em backups pesados ou bancos de dados sem índices. Reduzir uso de CPU no DirectAdmin muitas vezes passa por trocar HDs mecânicos por SSDs ou NVMe.

O Papel do CustomBuild na Otimização

O DirectAdmin possui uma ferramenta poderosa chamada CustomBuild. É através dela que instalamos e atualizamos os serviços. Muitas vezes, a versão do PHP ou do Servidor Web instalada é antiga e ineficiente. Manter o CustomBuild atualizado é o primeiro passo para garantir que você tenha as correções de performance mais recentes.

Excelente. Vamos dar continuidade à Parte 2 do nosso guia definitivo. Nesta seção, focaremos na infraestrutura do servidor web e no motor que processa os sites: o PHP.


Parte 2: Otimização do Servidor Web e PHP

Migração para OpenLiteSpeed: O Salto de Performance

Se o seu servidor DirectAdmin ainda roda Apache puro ou Nginx como Proxy reverso, você pode estar desperdiçando ciclos de processamento valiosos. O OpenLiteSpeed (OLS) é a versão de código aberto do LiteSpeed Enterprise e é amplamente conhecido por sua eficiência em lidar com milhares de conexões simultâneas com um consumo de memória e CPU drasticamente menor.

Para reduzir uso de CPU no DirectAdmin, o OLS oferece o benefício do cache de nível de servidor (LSCache). Diferente dos plugins de cache comuns que rodam via PHP, o LSCache entrega a página estática diretamente da memória, sem precisar “acordar” o processador para interpretar scripts. Isso reduz o load average instantaneamente.

Como migrar via CustomBuild:

Bash

cd /usr/local/directadmin/custombuild
./build set webserver openlitespeed
./build set php1_mode lsphp
./build openlitespeed
./build php n
./build rewrite_confs

Após a migração, a diferença no monitoramento de processos será nítida. Onde antes você via dezenas de processos Apache, agora verá um serviço OLS estável e eficiente.

Otimizando o PHP-FPM (ou LSPHP)

O PHP é, historicamente, o serviço que mais consome CPU em servidores de hospedagem. Se você optou por manter o Nginx ou Apache, o uso do PHP-FPM é obrigatório. Mas não basta apenas instalá-lo; é preciso tunar os pools de processos.

Muitos administradores deixam a configuração pm = dynamic com valores muito altos. Isso faz com que o servidor crie centenas de processos PHP “filhos” que disputam a CPU simultaneamente. Para reduzir uso de CPU no DirectAdmin, considere ajustar o arquivo de configuração do PHP (normalmente em /usr/local/directadmin/data/users/NOME_USUARIO/php/php-fpm.conf) limitando o pm.max_children.

Se um site WordPress mal otimizado tentar consumir todos os recursos, o limite de processos impedirá que ele monopolize a CPU do servidor inteiro, mantendo os outros sites online.
Sugestão de artigo: PHP-FPM: Como Calcular pm.max_children Corretamente

Implementando o OPcache

O OPcache é uma extensão do PHP que armazena o bytecode do script pré-compilado na memória RAM. Sem ele, a CPU precisa compilar o código PHP toda vez que uma página é carregada. Habilitar e configurar corretamente o OPcache é uma das formas mais simples de reduzir uso de CPU no DirectAdmin.

No CustomBuild, certifique-se de que ele está ativo:

Bash

./build set opcache yes
./build opcache

Ajuste as diretivas opcache.memory_consumption para pelo menos 128MB e opcache.max_accelerated_files para 10.000 ou mais, dependendo da quantidade de arquivos PHP no seu servidor.

Desativando Módulos Desnecessários

Muitos servidores carregam módulos do PHP e do Apache que nunca são utilizados (ex: mod_imap, mod_status excessivo, ou extensões PHP exóticas). Cada módulo carregado adiciona um pequeno overhead ao processo. Ao limpar a stack de software através do DirectAdmin, você garante que cada ciclo de clock da CPU seja usado para o que realmente importa: servir conteúdo aos visitantes.

Com certeza. Vamos agora para a Parte 3, focando na base de dados e na segurança, dois pilares críticos para manter a estabilidade do processador.

O alto consumo de CPU em servidores gerenciados pelo DirectAdmin pode estar relacionado a processos web, configurações de PHP, tarefas de backup ou até mesmo scripts mal otimizados. Além de identificar o processo responsável, é importante conhecer todas as ferramentas de administração disponíveis no painel. Para isso, consulte também o guia completo do DirectAdmin para administradores.

como reduzir uso de cpu no directadmin

Parte 3: Otimização de Bases de Dados e Segurança

Ajustando o MariaDB para Performance Máxima

Depois do PHP, o serviço de base de dados (MariaDB ou MySQL) costuma ser o maior consumidor de recursos. Para reduzir uso de CPU no DirectAdmin, não basta ter um servidor potente; é preciso que as consultas ao banco sejam eficientes. Se o MariaDB estiver a consumir 100% de um núcleo constantemente, o problema pode ser a falta de índices nas tabelas dos sites (especialmente em lojas WooCommerce pesadas).

O uso do MySQLTuner

Uma ferramenta indispensável para qualquer SysAdmin no DirectAdmin é o mysqltuner.pl. Ele analisa o comportamento do seu banco de dados nas últimas 24 a 48 horas e sugere ajustes específicos para o seu ficheiro my.cnf.

Bash

wget http://mysqltuner.pl/ -O mysqltuner.pl
perl mysqltuner.pl

Siga as recomendações de ajuste do innodb_buffer_pool_size. Idealmente, este valor deve ser grande o suficiente para manter a maior parte dos seus dados ativos na memória RAM, evitando que a CPU perca tempo processando leituras de disco lentas.

Otimizando Consultas Lentas (Slow Queries)

Ative o log de consultas lentas no DirectAdmin para identificar quais scripts estão a “fritar” o processador. Adicione ao seu my.cnf:

slow_query_log = 1
slow_query_log_file = /var/lib/mysql/mysql-slow.log
long_query_time = 2

Consultas que demoram mais de 2 segundos a ser executadas devem ser analisadas pelos programadores dos sites. Corrigir uma única consulta mal escrita pode reduzir uso de CPU no DirectAdmin em mais de 50% num servidor com muito tráfego.
Sugerimos os seguintes artigos:
Otimizar MariaDB em 5 Minutos: Guia Prático do my.cnf em Produção

Tuning MariaDB e MySQL: 5 Ajustes no my.cnf (Foco InnoDB)
Como Otimizar my.cnf e Reduzir o Uso de CPU no MariaDB/MySQL
MariaDB consumindo muita CPU? Como otimizar o my.cnf

Proteção contra Ataques de Brute Force

Picos repentinos de CPU são frequentemente causados por ataques de dicionário (tentativas de login) no SSH, FTP ou nas áreas de administração do WordPress (wp-login.php). Cada tentativa de login falhada exige que o servidor processe uma verificação de hash, o que é pesado para o processador.

Brute Force Monitor (BFM) e CSF

O DirectAdmin possui um Brute Force Monitor integrado. Certifique-se de que ele está configurado para comunicar com o ConfigServer Security & Firewall (CSF).Veja Mais em: Como Proteger DirectAdmin Contra Ataques

  • Quando o BFM deteta um IP a tentar aceder ao servidor excessivamente, ele envia o IP para o CSF bloqueá-lo no nível do firewall (IPTables).
  • Bloquear um atacante no firewall é muito mais leve para a CPU do que deixar o serviço (como o Dovecot ou Exim) processar cada tentativa de conexão.

Filtragem de Tráfego com Cloudflare

Uma das formas mais eficazes e “preguiçosas” de reduzir uso de CPU no DirectAdmin é colocar os sites atrás do Cloudflare. Ao filtrar bots maliciosos e tráfego de spam na “borda” (antes de chegarem ao seu servidor), o consumo de CPU cai drasticamente, pois o seu DirectAdmin apenas processará tráfego legítimo e limpo.

Parte 4: Controle de Usuários, Cron Jobs e Manutenção

CloudLinux: O Santo Graal da Estabilidade

Se você gerencia um servidor com múltiplos clientes, a ferramenta definitiva para reduzir uso de CPU no DirectAdmin é o CloudLinux. Sem ele, um único site com um plugin do WordPress mal configurado pode consumir 100% da CPU global, deixando todos os outros sites lentos.

O CloudLinux introduz a tecnologia LVE (Lightweight Virtual Environment), que isola cada usuário em seu próprio “container” de recursos.

  • Você pode definir que o “Usuário A” só pode usar 1 core de CPU e 1GB de RAM.
  • Se o site dele sofrer um pico de acessos ou um ataque, apenas o site dele ficará lento ou mostrará um erro 508 (Resource Limit Reached), enquanto o restante do servidor permanece intacto.

Gerenciamento de Cron Jobs (Tarefas Agendadas)

Muitos administradores ignoram os Cron Jobs, mas eles são vilões frequentes. Tarefas que rodam a cada minuto (como processamento de filas de e-mail marketing ou backups pesados) podem manter a CPU em estresse constante.

Para reduzir uso de CPU no DirectAdmin, recomendo:

  1. Escalonamento: Não agende todos os backups para as 00:00. Distribua-os ao longo da madrugada.
  2. Nice e Ionice: Use comandos como nice -n 19 antes do comando do cron para garantir que ele rode com a menor prioridade de CPU possível.

Monitoramento de Logs de Erro

Um arquivo error_log gigante (com gigabytes de tamanho) indica que o PHP está escrevendo erros a cada milissegundo. O ato de escrever logs constantemente consome ciclos de CPU e I/O de disco. Corrigir avisos (Warnings) e erros (Fatal Errors) de PHP nos sites dos usuários é uma forma direta de reduzir uso de CPU no DirectAdmin.


Resumo e Checklist Final

Para garantir que seu servidor DirectAdmin voe baixo, siga este checklist de otimização:

AçãoFerramenta/ServiçoBenefício Estimado
Trocar WebserverOpenLiteSpeedRedução de 30-50% na CPU
Limitar UsuáriosCloudLinux LVEEstabilidade Total
Cache de CódigoPHP OPcacheExecução mais rápida de scripts
Banco de DadosMySQLTuner / ÍndicesFim das filas de processamento
SegurançaCSF + Brute Force MonitorBloqueio de bots agressores

Conclusão do Artigo

Dominar como reduzir uso de CPU no DirectAdmin exige uma abordagem em camadas: desde a escolha do software de servidor até a educação dos usuários sobre scripts otimizados. Ao implementar as estratégias descritas neste guia, seu servidor não apenas será mais rápido, mas também terá uma vida útil maior e custos de infraestrutura reduzidos.

Reduzir o uso de CPU no DirectAdmin envolve diagnóstico de processos, otimização de serviços e ajustes na configuração do servidor. No entanto, compreender todas as funcionalidades do painel pode ajudar a prevenir diversos problemas de performance. Para aprofundar esse tema, veja também o guia completo do DirectAdmin para administradores.

FAQ

Por que o processo php-fpm está consumindo tanta CPU no meu DirectAdmin?

O consumo alto pelo php-fpm geralmente indica scripts do WordPress ou PHP mal otimizados, plugins pesados, ou falta de cache. Quando um site recebe muitas visitas e não possui cache de página, o processador precisa interpretar o código PHP repetidamente para cada usuário. Para resolver, ative o OPcache e utilize o OpenLiteSpeed com LSCache.

Mudar para o OpenLiteSpeed realmente ajuda a reduzir o uso de CPU?

Sim, drasticamente. O OpenLiteSpeed é muito mais eficiente que o Apache tradicional na gestão de conexões simultâneas (event-driven). Ele consome menos ciclos de processamento para entregar o mesmo volume de tráfego e possui um sistema de cache nativo que evita que a CPU seja sobrecarregada por requisições PHP desnecessárias.

Como o CloudLinux ajuda a reduzir o uso de CPU no DirectAdmin?

O CloudLinux cria um ambiente isolado (LVE) para cada conta de hospedagem. Sem ele, um único usuário pode consumir 100% da CPU do servidor. Com o CloudLinux, você define um limite (ex: 1 core) para cada usuário. Se o site dele exceder esse limite, apenas esse site fica lento, protegendo a estabilidade global do servidor e mantendo o load average sob controle.

O banco de dados (MariaDB/MySQL) pode causar picos de processamento?

Com certeza. Consultas SQL sem índices (Slow Queries) forçam o processador a ler tabelas inteiras linha por linha. Para reduzir uso de CPU no DirectAdmin vindo do banco de dados, você deve usar o script mysqltuner.pl para ajustar o my.cnf e garantir que o innodb_buffer_pool_size seja suficiente para manter os dados ativos na memória RAM.

Ataques de Brute Force afetam a performance do processador?

Sim. Cada tentativa de login em serviços como SSH, FTP ou /wp-login.php exige que o servidor processe um hash de senha. Milhares de tentativas por segundo podem travar a CPU. A solução é integrar o Brute Force Monitor do DirectAdmin com o CSF (ConfigServer Firewall) para bloquear os IPs dos atacantes automaticamente no nível do firewall.

Como posso monitorar o uso de CPU em tempo real?

A forma mais eficaz é via SSH utilizando o comando htop. Ele permite visualizar quais usuários e processos específicos estão no topo do consumo. No painel DirectAdmin, você também pode verificar o “Process Monitor” ou, se tiver CloudLinux, o “LVE Manager” para ver o histórico de uso de cada conta.

Veja Mais:

Guia Completo do DirectAdmin para Administradores (Instalação, Segurança e Configuração)
Como habilitar a compressão Brotli no DirectAdmin com Nginx (Guia Completo)
Como Instalar e Otimizar o Redis no DirectAdmin: Guia Definitivo 2026
Onde ficam as configurações PHP-FPM no DirectAdmin? (Guia 2026)
Como Ativar o HTTP/3 no DirectAdmin: Guia Completo 2026
DirectAdmin Lento? Guia Definitivo de Diagnóstico e Otimização [2026]