PDA

Ver la Versión Completa : ¿cuanta memoria te estas comiendo?


study
03-06-2010, 20:33:42
Hola gente, soy nuevo en el foro:

Tenia una duda, existe alguna forma de medir el consumo de memoria ram de mi aplicación por código. (Por favor sean pacientes, soy muy nuevo en delphi).

Neftali [Germán.Estévez]
04-06-2010, 10:39:49
Hay muchos programas/utilidades que te dan información detallada de los procesos que se están ejecutando en tu máquina.
A parte del Administrador de tareas de Windows (bantante básico), puedes probar alguno como el Process Explorer (http://technet.microsoft.com/es-es/sysinternals
/bb896653.aspx) de SysInternals (http://technet.microsoft.com/es-es/sysinternals) (yo lo uso).

Link de descarga (http://download.sysinternals.com/Files/ProcessExplorer.zip)

http://i.technet.microsoft.com/bb896653.ProcessExplorer%28es-es,MSDN.10%29.jpg

Además de la información genérica de todos los procesos, puedes seleccionar un único proceso y ver información de ese proceso en concreto.

http://img42.imageshack.us/img42/8987/imagen341.png

No requiere instalación, es un ZIP que puedes descomprimir donde quieras.
Puedes hacer que sustituya al Administrador de Windows, de forma que cualdo Seleccionas CTRL+ALT+SUPR se abra este, el lugar del del sistema,...

Échale un vistazo, no sigo porque las opciones con las que cuenta son interminables.

Un saludo.

study
04-06-2010, 16:07:29
Muchisimas gracias por responder, de hecho tengo instalado mas de un programa para medir el consumo de recursos de un proceso. El tema es que necesitaria hacerlo en tiempo de producción no en mi maquina solamente. ¿Me explico?, requiero hacerlo desde el mismo programa.

Neftali [Germán.Estévez]
04-06-2010, 16:32:33
Ok. En ese caso perdón, no te había entendido.
En ese caso puedes probar los componentes de la librería GLibWMI que puedes encontrar en mi página (http://neftali.clubdelphi.com/?p=589) o en sourceforge (http://sourceforge.net/projects/glibwmi/). En concreto hay uno llamado ProcessInfo, que te ofrece información detallada de los diferentes procesos que corren en tu máquina. La información y datos que devuelve este componente sobre cada proceso ejecutándose es la que pueder ver aquí:

WMI Win32_Process Class (http://msdn.microsoft.com/en-us/library/aa394372%28VS.85%29.aspx)

Revisa la demo GenericInfo (te he subido una copia al FTP -EXE y sources- (http://www.terawiki.clubdelphi.com/archivos/Tools/GenericSystemInfo_WMI.zip)) y comprueba si la información que te devuelve para cada proceso es lo que necesitas. Hay algunos datos referentes a la memoria consumida, accesos a memoria, therads,... Aquí (http://msdn.microsoft.com/en-us/library/aa394372%28VS.85%29.aspx) está detallado.

http://img690.imageshack.us/img690/8928/imagen343.png

study
04-06-2010, 17:54:33
Si, al parecer esto me viene perfecto, mil gracias por tu tiempo.