![]() |
Fallos de memoria en Firebird (error 335544676)
Buenos días,
Actualmente tengo un servidor Firebird 1.5 SuperServer en una máquina Windows Server 2016 con 32 gb de RAM. EL servicio de firebird está utilizando aproximadamente 1GB de memoria RAM y me lanza errores que no dispone de memoria para ordenar (error 335544676 sort_mem_err Sort, not enough memory). La configuración del fichero de configuración firebird.conf es: DefaultDbCachePages = 9999 SortMemUpperLimit = 267108864 TempDirectories = E:\FirebirdTMP (disco duro solo para temporales) He estado probando en incrementar la DefaultDBCachePages a 131072, el SortMemUpperLimit a 536870912 y por último he cambiado el page size de la base de datos al máximo (16384) pero sigue provocando el error de memoria. ¿Alguna idea para solventar este error? pdt: Por si sirve de interés se conectan al rededor de 100 usuarios a la base de datos. Gracias de antemano! |
Así, sin ver nada físicamente, primero revisaría ese disco E:
En cuanto al cambio que has hecho, mejor déjalo como estaba. |
Actualmente el disco E dispone de 120gb y utilizados no llega a 5 gb de la carpeta temporal. Todo esta virtualizado en una cabina Flash.
Con los parámetros por defecto también tengo el mismo problema, por eso he incrementado para ver si se solventaba. Tambíen hemos pensado en dar el salto a la versión 3.0 SuperClassic que admite más uso de memoria RAM. |
Mira esta sección del fichero de configuración de firebird:
Cita:
También, obviamente, deberías mirar los procesos que se ejecutan en el sistema para localizar el problema, pues no sabes si ocurre con todos conectados o si ocurre también con que haya solamente 1 conexión. Puede ser incluso, lo más habitual, provocado por un informe (reporte) que realiza varios "select *" de varias tablas grandes, ordenadas por campos sin índice, agrupados por campos sin índice, etc. También deberías plantearte el cambiar el servidor a Linux e instalar una versión "classic", notarás mucho la diferencia. 100 conexiones no es nada, no deberías tener problema alguno. |
Esta tarde le echaré un vistazo a la configuración pero creo recordar que esos parámetros son para la versión 2.0 en adelante.
Por otro lado, ¿veis factible cambiar de versión SuperServer a Classic o SuperClassic, manteniendo firebird 1.5? Si con esto mejora podríamos aplicar el cambio de versión esta fin de semana. |
He instalado la versión Classic y he tenido problemas para acceder con los usuarios a la base de datos.
He tirado de snapshot y he probado con los siguientes parámetros (que son los que tenia antes de que la base de datos fallara): TempDirectories = E:\FirebirdTMP DatabaseAccess = Full ExternalFileAccess = Full Además todo esto ha empezado después de cambiar el parámetro CPUAffintyMask a 255 para usar los 8 núcleos. Cuando tuvimos el fallo dejé el fichero de configuración como estaba pero el problema de memoria persistió. Os comento esto por si os sirve de ayuda. |
No puedes dar palos de ciego, lo único que estás consiguiendo con cambios sin control es "enfangar" todo.
Tampoco has dicho cómo has hecho el cambio de versión, se supone que habrás seguido los pasos correctos, o sea: Cita:
|
Hemos hecho una prueba pero hemos vuelto al estado en el que estábamos antes.
El procedimiento que hemos realizado ha sido el mismo que has indicado. -Backup de la base de datos. -Eliminación de la aplicación. -Instalacion de la misma versión de Firebird en modo Classic. -Comprobación en el cliente (el fbclient no se ha cambiado). Tras probarlo, al detectar los fallos hemos tirado de la snapshot ya que el margen de tiempo que disponíamos para probarlo era bastante corto (menos de 1 hora). Al menos esta tarde ha estado funcionando sin fallos pero no creo que tarde mucho en volver producirse el fallo. Creo que lo más recomendable será pasar este fin de semana la versión 1.5 a la 3.0 que supongo que tendrá mas optimizado el uso de memoria y CPU. |
La franja horaria es GMT +2. Ahora son las 04:31:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi