![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Debo decir que ha sido provechoso pero aún nos encontramos un poco lejos de poder liberar la memoria. Creé unos índices que hacían falta y este es el resultado:
Sin índices: Diferencia entre valor de Uso de PF inicial y final: 235 MB La memoria física disponible baja hasta: 5 MB Tiempo de ejecución: 00:04:25 Con índices: Diferencia entre valor de Uso de PF inicial y final: 215 MB La memoria física disponible baja hasta: 5 MB Tiempo de ejecución: 00:02:50 Como se puede ver lo más notorio es la disminución del tiempo de ejecución. Esto quiere decir que efectivamente por ese lado había problemas, pero el uso de PF baja sólo 20 MB. Y cuando termina el proceso de nuevo, todos los clientes deben estar desconectados para que el Uso de PF vuelva a su valor inicial, y para que la memoria física disponible suba hasta los 150 MB promedio (no había comentado que las pruebas las hago en un equipo con 256 MB de RAM). Bueno, y por otro lado, consultando he encontrado que el componente TDatabaseInfo da alguna información acerca del uso de la memoria. Los parámetros que he monitoreado antes y después del proceso son: Parámetro·········Valor antes···Valor después ---------·········-----------···------------- CurrentMemory·······4.886.528·······6.078.464 MaxMemory···········5.028.960······31.273.632 NumBuffers··············1.013···········1.013 La interpretación la dejo pendiente. Por ahora... como dije, espero encontrar la solución.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
|
#2
|
||||
|
||||
|
Quizas esto sea una burrada... pero has dejado un tiempo el servidor y aún asi no ha liberado la memoria? Siguiendo la línea de pensamiento sujerida por Marcos... quizas Interbase no devuelve inmediatamente la memoria... pero luego de un tiempo, debiera hacerlo, no?
Por otro lado... que otra cosa hace el servidor que es tan importante que la memoria vuelva a ser disponible tan rápido? hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#3
|
||||
|
||||
|
El servidor (creo que el sistema operativo, y no interbase) pasado un tiempo devuelve la memoria física disponible, es decir que al terminar el proceso tenemos aprox. 5MB. Luego poco a poco se va devolviendo a razón de aprox. 500 KB o 1 MB por sg. hasta llegar a... bueno, no he esperado lo suficiente. Pero la memoria de Uso de PF (archivo de página) no se devuelve hasta que todos los clientes han desconectado de la base de datos.
El servidor no hace nada más importante que eso. El problema es que se realice el proceso de nuevo. Hice una prueba lanzando el SP principal 5 veces consecutivas, entonces el sistema anuncia que no tiene más memoria, que se está ampliando el tamaño del archivo de página en disco, y que el sistema podría no responder a peticiones de cualquier aplicación, y finalmente después de unos 30 sg. de haber anunciado esto el cliente se desconecta de la base de datos generando n errores (como 8 mensajes relacionados con accesos no permitidos a memoria). El archivo de página se libera (Uso de PF) y todo vuelve a la normalidad, pero entonces debo iniciar el cliente de nuevo para volver a comenzar. Esto no es precisamente una carta de presentación de un sistema que hace las cosas bien.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|