memoria - GC

03/10/2005 - 12:27 por Oscar Rodriguez | Informe spam
Hola

Tengo varios modulos, de vez en cuando cuando hay un usuario trabajando
mucho tiempo sobre el mismo modulo la memoria llega a subir a veces hasta
los 500 Mb. (media giga), sin embargo al cabo de unos minutos baja de golpe
a los 24 Mb, El Gc collector está funcionando mal? trabajo en terminal
server y el servidor tiene 2 Gb, pero son para 20 usuarios.

Saludos, Oscar

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
03/10/2005 - 20:04 | Informe spam
El GC no trabaja mal. Tienes que tener en cuenta dos cosas cuando de uso de
memoria se trata. Primero vamos a ver un poco como funciona el GC (a grandes
razgos). El GC maneja 3 generaciones o niveles en los que va categorizando a
los objetos segun su tiempo de vida. Un objeto recien creado es colocado en
la generacion 0. Si el GC al recorrer los objetos para destruir encuentra
objetos todavia referenciados en la generacion 0 los pasa a la generacion 1.
Y de igual forma hace de la generacion 1 a la 2. En otras palabras, en la
generacion 0 tienes los objetos mas nuevos y en la 2 los mas viejos. El GC
recolecta mas seguido la generacion 0, menos seguido la 1 y todavia menos
seguido la 2. Esto es porque se supone que lo que este en la generacion
mayor "vive" mas tiempo y es menos probable que deba eliminarse. Teniendo en
cuenta esto, aquellos objetos que tengan poca duracion deberas liberarlos lo
antes posible para que el GC no los pase de generacion y los destruya lo
antes posible en lugar de mantenerlos en memoria por mas tiempo. Lo otro a
tener en cuenta es que Windows no libera memoria libre que haya pedido la
aplicacion sino hasta que algun otro proceso la necesite. Por ejemplo, tu
aplicacion necesito 200Kb y luego libero 100Kb. En lugar de devolver esos
100Kb al sistema tu aplicacion sigue ocupando los 200Kb y solo cuando alguna
otra aplicacion necesite esa memoria se liberara de tu aplicacion. Esto lo
hace Windows para mejorar el rendimiento de las aplicaciones.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida