Uso de memoria

19/07/2006 - 09:06 por Joaquín Zarco Gomis | Informe spam
Hola a todos.

Llevo observando que aplicaciones muy simples desarrolladas en .net 2.0
ocupan en memoria al ejecutarse de 20 a 35 MB. ¿Es normal este derroche?

Ejecutando varias de estas aplicaciones simples van ocupando la memoria
rápidamente.

Saludos
Joaquín

Preguntas similare

Leer las respuestas

#1 Jesús López
19/07/2006 - 12:19 | Informe spam
Las aplicaciones .NET no derrochan memoria, sino que hacen un uso más
inteligente de ella.

Si hay memoria de sobra, úsala. ¿De qué sirve tener un montón de memoria
libre sin usar?. ¿Por qué andar perdiendo el tiempo buscando trocitos de
memoria que liberar?.

Mientras no haya presión de memoria, no hay razón para liberarla. Liberar
memoria corriendo el recolector de basura y devolviendo la memoria al
sistema, es una operación costosa que sólo debe hacerse cuando es necesario.

Puedes hacer la siguiente prueba. Crea una aplicación Windows con un
formulario con este código:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim A As New ArrayList()
For i As Integer = 1 To 1000
Dim B As New ArrayList()
For j As Integer = 1 To 10000
B.Add(j)
Next
A.Add(B)
Next
End Sub

Genera la solución en "release", y desde el explorador de windows ejecuta la
aplicación varias veces con el administrador de tareas abierto. Verás que la
aplicación consume mucha memoria, pero a medida que se van creando más
instancias de la aplicación, las instancias anteriores van liberando memoria.


Saludos:

Jesús López



"Joaquín Zarco Gomis" escribió:

Hola a todos.

Llevo observando que aplicaciones muy simples desarrolladas en .net 2.0
ocupan en memoria al ejecutarse de 20 a 35 MB. ¿Es normal este derroche?

Ejecutando varias de estas aplicaciones simples van ocupando la memoria
rápidamente.

Saludos
Joaquín



Respuesta Responder a este mensaje
#2 Joaquín Zarco Gomis
20/07/2006 - 08:34 | Informe spam
Gracias por la explicación.

No entendía era porque una aplicación al arrancar (cuando aún no tiene nada
que liberar) ocupa unos 30MB en memoria.

"Jesús López" escribió en el mensaje
news:

Las aplicaciones .NET no derrochan memoria, sino que hacen un uso más
inteligente de ella.

Si hay memoria de sobra, úsala. ¿De qué sirve tener un montón de memoria
libre sin usar?. ¿Por qué andar perdiendo el tiempo buscando trocitos de
memoria que liberar?.

Mientras no haya presión de memoria, no hay razón para liberarla. Liberar
memoria corriendo el recolector de basura y devolviendo la memoria al
sistema, es una operación costosa que sólo debe hacerse cuando es
necesario.

Puedes hacer la siguiente prueba. Crea una aplicación Windows con un
formulario con este código:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim A As New ArrayList()
For i As Integer = 1 To 1000
Dim B As New ArrayList()
For j As Integer = 1 To 10000
B.Add(j)
Next
A.Add(B)
Next
End Sub

Genera la solución en "release", y desde el explorador de windows ejecuta
la
aplicación varias veces con el administrador de tareas abierto. Verás que
la
aplicación consume mucha memoria, pero a medida que se van creando más
instancias de la aplicación, las instancias anteriores van liberando
memoria.


Saludos:

Jesús López



"Joaquín Zarco Gomis" escribió:

Hola a todos.

Llevo observando que aplicaciones muy simples desarrolladas en .net
2.0
ocupan en memoria al ejecutarse de 20 a 35 MB. ¿Es normal este derroche?

Ejecutando varias de estas aplicaciones simples van ocupando la memoria
rápidamente.

Saludos
Joaquín



Respuesta Responder a este mensaje
#3 Jesús López
20/07/2006 - 10:33 | Informe spam
De nada. Te recomiendo la lectura de este artículo, seguro que te proporciona
más información:

http://getdotnetco.web101.discounta...ticles/The Memory
Mystery.htm


Saludos:

Jesús López



"Joaquín Zarco Gomis" escribió:

Gracias por la explicación.

No entendía era porque una aplicación al arrancar (cuando aún no tiene nada
que liberar) ocupa unos 30MB en memoria.

"Jesús López" escribió en el mensaje
news:
>
> Las aplicaciones .NET no derrochan memoria, sino que hacen un uso más
> inteligente de ella.
>
> Si hay memoria de sobra, úsala. ¿De qué sirve tener un montón de memoria
> libre sin usar?. ¿Por qué andar perdiendo el tiempo buscando trocitos de
> memoria que liberar?.
>
> Mientras no haya presión de memoria, no hay razón para liberarla. Liberar
> memoria corriendo el recolector de basura y devolviendo la memoria al
> sistema, es una operación costosa que sólo debe hacerse cuando es
> necesario.
>
> Puedes hacer la siguiente prueba. Crea una aplicación Windows con un
> formulario con este código:
>
> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles MyBase.Load
> Dim A As New ArrayList()
> For i As Integer = 1 To 1000
> Dim B As New ArrayList()
> For j As Integer = 1 To 10000
> B.Add(j)
> Next
> A.Add(B)
> Next
> End Sub
>
> Genera la solución en "release", y desde el explorador de windows ejecuta
> la
> aplicación varias veces con el administrador de tareas abierto. Verás que
> la
> aplicación consume mucha memoria, pero a medida que se van creando más
> instancias de la aplicación, las instancias anteriores van liberando
> memoria.
>
>
> Saludos:
>
> Jesús López
>
>
>
> "Joaquín Zarco Gomis" escribió:
>
>> Hola a todos.
>>
>> Llevo observando que aplicaciones muy simples desarrolladas en .net
>> 2.0
>> ocupan en memoria al ejecutarse de 20 a 35 MB. ¿Es normal este derroche?
>>
>> Ejecutando varias de estas aplicaciones simples van ocupando la memoria
>> rápidamente.
>>
>> Saludos
>> Joaquín
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida