Central de Ajuda

Guia da Central de Ajuda

PHP Allowed memory size exhausted: como corrigir memory_limit e consumo excessivo

O erro Allowed memory size ... exhausted ocorre quando um processo PHP tenta ultrapassar memory_limit. Aumentar o limite pode ser adequado, mas também pode esconder loop, consulta enorme, plugin defeituoso ou carga incompatível com o plano.

Identifique contexto

  • URL, comando ou cron que falhou;
  • limite e quantidade solicitada na mensagem;
  • versão/SAPI PHP;
  • alteração recente;
  • uso total da conta/servidor;
  • repetição e tamanho dos dados.

Verificar limite

php -r "echo ini_get('memory_limit'), PHP_EOL;"
php --ini

CLI e site podem carregar configurações diferentes. Para o domínio, use MultiPHP INI Editor ou uma verificação temporária e protegida.

Alterar no cPanel

  1. Abra MultiPHP INI Editor.
  2. Selecione o domínio.
  3. Registre o valor atual.
  4. Defina aumento moderado compatível com o plano, por exemplo 256M quando autorizado.
  5. Salve e teste a operação.
  6. Monitore logs e reverta se não resolver.

Corrija a causa

Em WordPress, isole plugin/tema indicado no stack trace. Em código, processe dados em lotes, libere referências, evite carregar arquivo inteiro, pagine consultas e use streaming. Uma consulta sem filtro pode transformar milhões de linhas em objetos PHP.

Medir em vez de adivinhar

Registre memory_get_peak_usage(true) em ambiente de teste, use profiler quando disponível e compare entradas pequenas e grandes. Procure crescimento proporcional inesperado, coleções duplicadas e recursão. Logs devem registrar a operação, não dados pessoais ou segredos.

Frameworks e workers

Filas e comandos longos podem manter objetos entre tarefas. Configure reciclagem controlada dos workers, tamanho de lote e limites de tentativas. Limpar cache pode aliviar temporariamente, mas não substitui corrigir o processo que cresce.

Servidor e concorrência

memory_limit vale por processo; muitos workers podem consumir o limite simultaneamente. Não configure valor próximo da RAM total. Em PHP-FPM, ajuste workers, limites e memória do sistema de forma conjunta.

Não use -1 em produção. Memória ilimitada pode causar OOM e derrubar outros serviços. Não aumente repetidamente sem analisar o stack trace.

Veja versão PHP e diagnóstico do erro 500.

Recursos relacionados

Continue com materiais e serviços relacionados ao tema deste guia.

Este guia resolveu sua dúvida? Seu retorno ajuda a priorizar as próximas revisões.
Atendimento técnico

Não encontrou o resultado esperado?

Abra um chamado e envie a mensagem de erro completa, o domínio ou serviço afetado, o horário do teste e capturas de tela sem senhas.