¿Cómo saber cuanta memoria ocupa mi aplicación?
- AngelSalom
- Posts: 727
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Benicarló (Castellón ) - España
- Has thanked: 1 time
- Contact:
¿Cómo saber cuanta memoria ocupa mi aplicación?
Hola amigos, como ando peleado con los recursos, liberación de memoria, etc, etc,etc ... me vendría genial saber cuánto memoria está utilizando mi aplicación (desde la misma aplicación, claro).
¿Alguna función que me informe de esto?
Gracias!
¿Alguna función que me informe de esto?
Gracias!
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
- Biel EA6DD
- Posts: 682
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Code: Select all | Expand
FUNCTION Main()
? WorkingSetPrivate()
RETURN NIL
//-----------------------------------------------------------------------------
FUNCTION WorkingSetPrivate(cName)
/*Biel Maimo 2016*/
LOCAL oLocator,oWmi,oList, oProc
LOCAL aList:={}
IF cName==NIL
cName := SubStr(hb_ProgName(),Len( cFilePath( HB_ProgName() ))+1)
cName := Left(cName,Len(cName)-4)
ENDIF
//--
oLocator := CreateObject( "wbemScripting.SwbemLocator" )
oWMI := oLocator:ConnectServer()
oList := oWmi:ExecQuery( "select * from Win32_PerfRawData_PerfProc_Process WHERE name='"+cName+"'")
FOR EACH oProc IN oList
AAdd( aList, { oProc:Name,oProc:WorkingSetPrivate} )
NEXT
RETURN Val(aList[1,2]) / 1024
- AngelSalom
- Posts: 727
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Benicarló (Castellón ) - España
- Has thanked: 1 time
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Magnífico Biel, justo lo que necesitaba.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Biel, cual és el comando equivalente en xHarbour de hb_ProgName()? Gracias, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Biel EA6DD
- Posts: 682
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
karinha wrote:Biel, cual és el comando equivalente en xHarbour de hb_ProgName()? Gracias, saludos.
Puedes probar hb_ArgV() que creo que existe en xHarbour, o ExeName().
En cualquier caso puedes llamar la función pasandole como parametro el nombre de tu programa.
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Gracias Biel, perfecto.
Code: Select all | Expand
#include "FiveWin.ch"
FUNCTION Main()
? WorkingSetPrivate()
RETURN NIL
//-----------------------------------------------------------------------------
FUNCTION WorkingSetPrivate(cName)
/*Biel Maimo 2016*/
LOCAL oLocator,oWmi,oList, oProc
LOCAL aList:={}
IF cName==NIL
#IFDEF __XHARBOUR__ // Qual e o equivalente em xHarbour?
cName := SubStr(HB_ARGV( 0 ),Len( cFilePath( HB_ARGV( 0 ) ))+1)
cName := Left(cName,Len(cName)-4)
#ELSE
cName := SubStr(hb_ProgName(),Len( cFilePath( HB_ProgName() ))+1)
cName := Left(cName,Len(cName)-4)
#ENDIF
ENDIF
//--
oLocator := CreateObject( "wbemScripting.SwbemLocator" )
oWMI := oLocator:ConnectServer()
oList := oWmi:ExecQuery( "select * from Win32_PerfRawData_PerfProc_Process WHERE name='"+cName+"'")
FOR EACH oProc IN oList
AAdd( aList, { oProc:Name,oProc:WorkingSetPrivate} )
NEXT
RETURN Val(aList[1,2]) / 1024
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Biel, una duda: el resultado és en: Bytes, Mega Bytes? Ó Giga Bytes? gracias, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Biel EA6DD
- Posts: 682
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
karinha wrote:Biel, una duda: el resultado és en: Bytes, Mega Bytes? Ó Giga Bytes? gracias, saludos.
El resultado se expresa en KB, pero puedes ajustar el retorno a la unidad que desees, simplemente cambiando divisior.
Code: Select all | Expand
...
Val(aList[1,2]) / 1024 //
- juan_arroyo_t
- Posts: 196
- Joined: Fri May 15, 2009 1:25 am
- Location: Cuautitlán, Mexico
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Por favoroList := oWmi:ExecQuery( "select * from Win32_PerfRawData_PerfProc_Process WHERE name='"+cName+"'")
Como puedo utilizar este codigo si uso dbf's ?
Muchas gracias
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Eso no tiene nada que ver con el RDD que utilices
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- juan_arroyo_t
- Posts: 196
- Joined: Fri May 15, 2009 1:25 am
- Location: Cuautitlán, Mexico
Re: ¿Cómo saber cuanta memoria ocupa mi aplicación?
Muchas gracias Cristobal
Funciona perfecto
Saludos
Funciona perfecto
Saludos