Soporte telefonicp 24x7
Area de clientes (Administracion, productos y servicios contratados, facturacion, tickets)
Soporte mediante tickets gratis de ayuda
Correo electronico comercial
Demo Panel de Control Cpanel
My status
2Checkout
Paypal

Cannot allocate memory y Fatal error: Out of memory

Imprimir E-mail
  • php: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Cannot allocate memory
  • PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted (tried to allocate


Dos mensajes de error terrorificos para nuestros sitios web objeto de este artículo.

 

Es cierto que Magento es una gran software para la creación y mantenimiento de tiendas online (tiendas virtuales) como también es cierto que es bastante quisquilloso además de una gran consumidor de recursos.

Para ser sinceros, ningún hoster lo desea como software de sus clientes, en planes de hosting compartido, y mucho menos si son económicos. La razones son obvias, pues el consumo de recursos es impresionante para mover el código que permite generar tiendas tan profesionales.

Tampoco lo clientes que de verdad usan este software de forma profesional, suelen contratar espacios de hosting compartido (imagínate montar una tienda con una manta en mitad de la calle… parecerías un mantero en vez de un tendero) lo que nos lleva a una de las calidad más profesionales dentro de una economía de medios que son los VPS.

En nuestro caso andamos a vueltas buscando este error en Google, y observamos que además de darse en Magento se daba en otras aplicaciones, como SugarCRM, KhoLix, MySQL y otras tantas, pero todas con un factor común. Estaban montadas sobre VPS.

Para mas datos, el problema se repetía en otros VPS sin Magento pero que no podía usar Apache con PHP utilizando mod SuPHP, y en su lugar usar el inseguro DSO que usan casi todos los hoster.

En el caso de las respuestas en los foros de Magento respecto del mensaje de error y de otros que informaban de paginas en blanco en Magento, se observaba como siempre que los usuarios no hacían lectura de los archivos de bitácora (para solucionar problemas en UNIX lo primero es mirar los logs, y mejor aun, mirarlos después de haber subido el nivel de registro a debug o similar) ya que el problema se trataba del mismo.

La solución de aumentar la memoria, hasta límites aberrantes (256MB, 512 MB, etc.) además de inútil y parecida  a la otra manía de poner permisos 777 a todo cuando algo no funciona (luego dicen que el software es inseguro) no solventaba el problema.

Ejecutamos el siguiente comando para ver si el VPS presentaba problemas de limites sin obtener datos que indicaran problemas de limites.

 

cat /proc/user_beancounters

 

¿Donde estaba el problema?

[error]  PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted (tried to allocate 8192 bytes) in /home/[IslaServer site]/public_html/magento
[error] /usr/bin/php: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Cannot allocate memory

[error] Premature end of script headers: index.php

 

Sencillo y rebuscado.

WHM/Cpanel tiene un comando para asignar el limite de Memoria y CPU para los procesos de Apache. Si hemos ejecutado esa herramienta, en nuestro fichero httpd.conf tendremos dos líneas para los parámetros RLimitMEM y RLimitCPU

Comentándolos (#), y reiniciando Apache desaparecerá el problema.

Escenario:


VPS con un 1GB o más de memoria RAM sobre CentOs 5.3 x64 y WHM/Cpanel en maquinas con Proxmox 1.3

Información adicional


Base de conocimiento de clientes IslaServer



Última actualización el Sábado, 19 de Septiembre de 2009 08:30
 

Porqué IslaServer?

  • Precios únicos en el mercado.
  • Profesionales dedicados a su servicio.
  • Soporte 24 x 7 x 365 días al año.
  • Atención telefónica PROFESIONAL.
  • Seguridad, fiabilidad y eficacia.

Garantía de 30 días

Garantia de devolución de 30 díasIslaServer te ofrece 30 días para que pruebes nuestros servicios. Sino no quedas totalmente satisfecho te devolvemos el importe abonado mediante nuestra garantía de calidad. Solo queremos clientes satisfechos.

 

(Excepto registro de dominios y certificados SSL)