MySQL - mysqld: Out of memory (Needed 57120 bytes)

 
Vista:
sin imagen de perfil

mysqld: Out of memory (Needed 57120 bytes)

Publicado por Julian (2 intervenciones) el 15/01/2015 01:19:08
Buen dia,

Tengo un servidor web con Windows Server 2012 64bits
procesador Intel Xeon X5670 2.93GHz
8 Gb de RAM

En el servidor tengo alojada una aplicación web desarrollada en php y uso como base de datos MYSQL. Tengo varias bases de datos, varios usuarios trabajando. Peor ultimada mente se me ha estado presentando un problema de uso de memoria por parte del servicio mysql. Me ha estado consumiendo mucha memoria de manera exagerada.

La version de MYSQL es la 5.1

En el registro de eventos me aparece la siguiente leyenda del error.

mysqld: Out of memory (Needed 57120 bytes)

después de ese error, se me cae el servicio de mysql lo cual me esta ocasionando muchos problemas.

También en ocasiones me marca la siguiente leyenda.

Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64

Si alguien sabe algo o ya ha tenido este mismo problema y encontró solución, les agradecería que me pudieran apoyar. No se si sea por falta de actualización de mysql, que esa versión tenga algún bug?
O quisiera saber si también puede ser por mala configuración, o que podría hacer para solucionar el problema.

Los últimos errores en mi log son los siguientes:

150113 14:44:54 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 73440 bytes)
150113 14:44:54 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 11:24:50 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Incorrect key file for table 'C:\Windows\TEMP\#sql2cb4_2bf9e3_0.MYI'; try to repair it
150114 15:07:22 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 48960 bytes)
150114 15:07:22 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 15:11:46 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 73440 bytes)
150114 15:11:46 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 15:13:51 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 57120 bytes)
150114 15:13:51 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 15:13:51 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 57120 bytes)
150114 15:13:51 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 15:13:51 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 57120 bytes)
150114 15:13:51 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 15:13:51 [ERROR] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Out of memory (Needed 57120 bytes)
150114 15:13:51 [ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
150114 15:14:23 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Log scan progressed past the checkpoint lsn 8 805044660
150114 15:14:23 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 8 805044670
150114 15:14:30 InnoDB: Started; log sequence number 8 805044670
150114 15:14:30 [Note] Event Scheduler: Loaded 0 events
150114 15:14:30 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
Version: '5.1.51-community' socket: '' port: 3306 MySQL Community Server (GPL)

Si saben algo, les agradecería bastante su respuesta.
gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

mysqld: Out of memory (Needed 57120 bytes)

Publicado por xve (1151 intervenciones) el 15/01/2015 09:56:33
Hola Julian, no se cuantos usuarios estan utilizando tu aplicación php simultáneamente, pero llegas a 1900 conexiones, por lo que me da la sensación que no se cierran las conexiones una vez utilizadas... podría ser?

Nunca he utilizado mysql sobre Windows, pero no creo que sea problema de MySQL, si no del desarrollo de PHP.

Todos los valores de configuración de mysql, son modificables desde el archivo my.cnf, pudiendo aumentar o disminuir cualquier valor.

También faltaría ver la optimización de las consultas SQL del PHP para ver porque se excede del limite de memoria.

Yo creo que el problema puede estar en el desarrollo del PHP. No quiere decir que sea eso, pero por lo que comentas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

mysqld: Out of memory (Needed 57120 bytes)

Publicado por Julian (2 intervenciones) el 15/01/2015 16:45:27
Gracias xve, lo tomare en cuenta mas sin embargo. No creo que sean las conexiones, ya que tengo entendido que las conexiones aunque no las cierres se finalizan al termino de la ejecución del script.
Lo de las consultas, si manejamos mucha informacion y son como 20 usuarios, cada uno con su propia base de datos. Pero siempre lo e estado moitoreando y no veo mucho uso de memoria, a lo mucho 1 gb cuando esta estable con todos los usuarios trabajando., solo que ne ocasiones pasa que el servicio mysqld.exe incrementa el uso de memoria de manera muy rapida, solo incrementa ni si quiera varia. Enotnces llega el punto en que consume todo mi capacidad de memoria y es donde se cae el servicio. Enoptnces por eso llegue a pensar que seria por algún bug de mysql sobre windows, que a lo mejor seria conveniente hacer una actualización.

Igual si sabes algo de alguna configuración del mysql para limitar el uso de memoria o conoces algunas fuentes de información te lo agradecería.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

mysqld: Out of memory (Needed 57120 bytes)

Publicado por xve (1151 intervenciones) el 15/01/2015 18:14:32
Hola Julian, puedes utilizar conexiones persistentes a la base de datos... http://php.net/manual/es/features.persistent-connections.php
Las conexiones del PHP a mysql, como las haceis?

En linux, mysql utiliza el máximo de memoria que pueda, para hacer el máximo de cache posible para devolver las consultas lo mas rápido posible... entiendo que en Windows funciona igual.

Puedes utilizar mysqltuner (http://mysqltuner.com/) para optimizar el mysql... nosotros lo utilizamos bastante.

Prueba a actualizar el mysql a la ultima versión haber que tal te va, pero no creo que sea ese el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar