elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Experimento de consumo de memória... ver para creer!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Experimento de consumo de memória... ver para creer!  (Leído 14,553 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Experimento de consumo de memória... ver para creer!
« en: 8 Agosto 2013, 09:12 am »

Hoy he descubierto algo que me ha impactado bastante.

Creamos un nuevo WinForm, y lo dejamos EN BLANCO, es decir, sin ningún tipo de código, simplemente el Form1.vb generado por el VS...

Ahora, si compilamos esa aplicación vacía, al mover el mouse sobre el form, sólo esa acción consume unos 8kb cada segundo. (no estoy seguro de si se trata del evento MouseEnter o del MouseMove, o quizás el problema no sea de un Evento y sea otra cosa que desconozco)

Lo más impactante de este experimento es que dicho consumo jamás se llega a liberar!, cuanto más muevo el mouse por el Form, más subre el consumo de RAM, 8 kb cada vez que muevo el mouse por el form, pero ese consumo nunca vuelve a bajar, y esto quiere decir que un Form vacío podría dar un problema de overflow sólamente por mover el mouse por el form!!?¿

¿Como es esto posible?, ¿Cual es la razón?, ¿Que se puede hacer para solucionarlo?, ¿Alguien más se habia dado cuenta de esto antes?.

PD: No se si es un WinForm de C# pasará lo mismo Con un Winform de C# sucede exáctamente lo mismo, lo he testeado con VB.NET, con Framework 4.0 y 4.5.


EDITO:

Con Java es incluso peor, es traumático, al mover el mouse sobre el background de una aplicación vacía la memória aumenta por MB's cada segundo, no por kb's, y no se llega a liberar jamás tampoco, puede pasar de 40 mb a 60 mb en menos de 30 segundos símplemente por mover el mouse por la ventana sin parar, y encima ese consumo no va a bajar nunca, es increible, en fín si que es cierto lo que dicen sobre Java y el consumo de RAM si...

Tengo algunos programas profesionales de terceros desarrollados en C/C++ y al mover el mouse por sus ventanas no sube el consumo en absoluto.



Bueno, ahí dejo el experimento, espero que alguien pueda dejar explicaciones sobre las causas de estos sucesos paranormales,
y si se puede evitar de alguna manera ese consumo excesivo OverRideando algún método o... como sea!!.



Saludos.


« Última modificación: 8 Agosto 2013, 10:05 am por EleKtro H@cker » En línea



Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #1 en: 8 Agosto 2013, 20:10 pm »

...

Para los más excépticos aquí podeis ver el problema con vuestros propios ojos:



En línea



X3R4CK3R

Desconectado Desconectado

Mensajes: 74


Divide y vencerás


Ver Perfil WWW
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #2 en: 8 Agosto 2013, 20:48 pm »

...

Para los más excépticos aquí podeis ver el problema con vuestros propios ojos:



no, al menos yo no puedo. :huh:
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #3 en: 8 Agosto 2013, 20:58 pm »

no, al menos yo no puedo.

Si lo pones a pantalla completa y a calidad a 720p seguro que si xD... no sé si te refieres a eso.. o lo que no ves es el aumento de memória..

 saludos!
En línea



Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #4 en: 8 Agosto 2013, 21:00 pm »

Probé lo que comentas y si, pasa eso, incluso cambiando opciones de compilación :o

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
X3R4CK3R

Desconectado Desconectado

Mensajes: 74


Divide y vencerás


Ver Perfil WWW
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #5 en: 8 Agosto 2013, 21:01 pm »

Si lo pones a pantalla completa y a calidad a 720p seguro que si xD... no sé si te refieres a eso.. o lo que no ves es el aumento de memória..

 saludos!

Ya lo veo, me daba problemas con el protocolo https, sorry
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #6 en: 8 Agosto 2013, 21:11 pm »

Probé lo que comentas y si, pasa eso, incluso cambiando opciones de compilación :o

Como me gusta oir eso vininiendo de un experto, no estoy loco! xD

Pues lo dicho, y en Java es inclusive peor ya que se dispara el consumo por Megabytes como ya he dicho, pero bueno, Java no me importa.

En otros lares me dicen que haga un research sobre como trabaja la memória en .NET... y yo me pregunto, ¿Que es lo que debo buscar si para empezar no se ni cual es la raiz dle problema, ni tampoco se cual es el problema en si mismo?, ¿Por donde empiezo?, en fín en esos lares me dicen un sin fin de cosas que considero tonterías y se meten conmigo los típicos Trolls pero nadie me dice nada en concreto, mucho listillo y experto pero ninguno sabe decirme algo en concreto! (no lo digo por ti, novlucker)

Cosas como estas ya las sé, pero no me aclaran nada:

· ¿Porque el consumo de memoria aumenta sobre los 8-16 kb progresívamente cada segundo al mover el mouse por un Winform?

Citar
There are messages that trigger for handling mouse movement, etc, which get processed by the form.
(Vale, pero una vez interceptados los messages y raiseados los eventos porque sigue subiendo sin parar?)

· ¿Porque ese aumento de memória no vuelve a disminuir nunca?

Citar
It will. Eventually, you'll see your memory settle down. In C# and VB.Net, the garbage collector doesn't immediately clean up memory (by design), but lets it grow, and will clean up as needed. In general, you'll tend to see .NET applications grow in their memory usage, then drop dramatically, then grow again, then drop, etc. If you have a lot of memory in your system, the "drops" happen infrequently, since a garbage collection is expensive, and there's absolutely no disadvantage to using memory that's not needed elsewhere.

PD: La última respuesta no tiene validez para mi, ya que el experimento demuestra que eso no es cierto en este caso, el GC "no hace nada".

Si alguien se aburre y quiere ver el resto en inglés... http://stackoverflow.com/questions/18132115/memory-consumption-keeps-growing-when-just-moving-the-mouse
« Última modificación: 8 Agosto 2013, 21:14 pm por EleKtro H@cker » En línea



$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #7 en: 8 Agosto 2013, 21:44 pm »

Pero hazlo hasta el extremo a ver si tu pc se cuelga o algo, si no es asi es porque como dice por ahi "el GC lo deja crecer pero cuando es necesario lo borra"
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #8 en: 8 Agosto 2013, 22:14 pm »

Pero hazlo hasta el extremo a ver si tu pc se cuelga o algo, si no es asi es porque como dice por ahi "el GC lo deja crecer pero cuando es necesario lo borra"

Sip, no se si leiste mi respuesta a eso, ese será mi próximo experimento xD

Dejaré una VM con 64 de ram y WinXP, un script que mueva el mouse sobre el Form, y a ver lo que pasa...  :silbar:

PD: ¿Alguien ha notado mi obsesión por el consumo de RAM? xD, pues si, quiero que mis aplicaciones rocen la perfección... y para que llegue ese día necesito aprender y descifrar acertijos como estos.

Saludos
En línea



El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Experimento de consumo de memória... ver para creer!
« Respuesta #9 en: 9 Agosto 2013, 02:08 am »

¿Te ocurre únicamente en modo de de puración? Porque he probado mis aplicaciones ya compiladas y en depuarión. Al principio se presenta el mismo incremento de memoria, pero no sube más de 500kb.

Las condiciones en las que he realizado la prueba son:

Visual Studio 2010 express
Compilación para .NET Framework 4.0

¿Crees que sea problema del VS 2012?

Como te comento, comienza a subir en ambos casos pero en ninguno sube de manera alarmante. En modo de depuración se incrementa más el uso de memoria.
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Medir consumo de la memoria de video[XP]
Windows
flacc 2 4,696 Último mensaje 1 Marzo 2011, 23:57 pm
por flacc
Firefox reducirá, por fin, su gigantesco consumo de memoria
Noticias
wolfbcn 8 4,105 Último mensaje 9 Julio 2011, 23:04 pm
por Foxy Rider
Windows 8 mejorará el consumo de memoria RAM considerablemente
Noticias
wolfbcn 0 1,903 Último mensaje 19 Abril 2012, 18:05 pm
por wolfbcn
Duda sobre consumo de memoria
Programación C/C++
anonimo12121 4 2,645 Último mensaje 20 Agosto 2012, 11:19 am
por anonimo12121
Encuesta/experimento para cuando estéis aburridos.
GNU/Linux
do-while 2 1,874 Último mensaje 17 Abril 2017, 22:25 pm
por do-while
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines