wp_memory_limit unlimited recommended memory_limit ini_set php performance memory memory-limit

unlimited - Cuanto más, mejor para PHP memory_limit?



php memory_limit recommended value (3)

No, cuanto más no es mejor. Es la cantidad de memoria que un script único puede consumir. Si su servidor contiene, por ejemplo, 4 GB de memoria, solo dos scripts podrían comerse simultáneamente toda esa memoria.

En general, los scripts PHP deben usar poca memoria. Normalmente, toda la memoria que reserva un script se libera cuando finaliza, pero puede limpiar la memoria antes de eso al unset variables que ya no se necesitan durante la ejecución. De esta forma, puede hacer que su script sea más eficiente con la memoria.

En PHP, a menudo me enfrento al problema del límite de memoria. Especialmente con sistemas integrados de alto recurso como Drupal, etc.

Lo que quiero saber aquí es:

  • ¿Es bueno tener un límite de memoria php muy alto, como 2 GB?
  • ¿Hay algún inconveniente importante?

Editado:

Como escenario, por ejemplo en Drupal, NECESITA tanta memoria mientras LIMPIAMOS el CACHE a través del Panel web (no por Drush o cualquier script). Entonces, incluso para este caso, definitivamente estoy necesitando un límite alto de alrededor de 512 MB actualmente.


Si tiene scripts que sabe que requieren grandes cantidades de memoria, es perfectamente seguro y necesario establecer un límite alto. Pueden surgir problemas si el límite se establece en alto para el sistema con respecto a la cantidad de memoria disponible y otras aplicaciones en ejecución.

También tenga en cuenta que una secuencia de comandos defectuosa que podría terminar en un bucle infinito procesando algunos datos a menudo se detendría bastante rápido si el límite de memoria es de 64 MB o algo así. Tener el límite de memoria en 4 GB en este escenario lo dejaría con un sistema funcionando a máxima inclinación en un ciclo infinito por mucho más tiempo y podría hacer que todo su sistema dejara de responder.

Pero he tenido grandes aplicaciones de procesamiento de datos con límites de memoria de alrededor de 2-4 GB sin problemas en sistemas con 4-8 GB de memoria. Tenga en cuenta que, según lo manifestado por otros usuarios, estas aplicaciones fueron UNA instancia. Si tiene aplicaciones que ejecutan varias instancias de sus scripts (como la mayoría de las aplicaciones web), se encontrará con grandes problemas al usar mucha memoria en cada instancia. Se quedará sin memoria y otros clientes no podrán usar su aplicación hasta que la memoria se haya liberado.

Pero no solo aumente el límite de memoria para ocultar problemas. Inspeccione por qué su aplicación requiere tanta memoria y vea si puede rectificar eso primero.


La regla de oro: solo dale a PHP lo que PHP necesita para trabajar, y nada más.

Esto evitará situaciones en las que su sistema obstruya innecesariamente el proceso de PHP y también lo ayudará a encontrar errores (un script que requiere 1GB de memoria es inusual, y dar un límite de memoria de 2GB lo ocultará).

Para casos excepcionales, donde sabe que un solo archivo de script tiene mucha memoria, puede usar ini_set() para cambiar la directiva de límite de memoria en tiempo de ejecución. Mira esto y esto .