FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 02:55 PM

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!

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 04:44 PM
Code (fw): Select all Collapse
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
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 05:01 PM

Magn铆fico Biel, justo lo que necesitaba.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 05:10 PM

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
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 05:35 PM
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.
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 06:04 PM
Gracias Biel, perfecto.

Code (fw): Select all Collapse
#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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Wed Nov 16, 2016 06:09 PM

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
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Thu Nov 17, 2016 07:16 AM
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 (fw): Select all Collapse
...
Val(aList[1,2]) / 1024 //
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Fri Dec 02, 2016 03:55 PM
oList := oWmi:ExecQuery( "select * from Win32_PerfRawData_PerfProc_Process WHERE name='"+cName+"'")
Por favor

Como puedo utilizar este codigo si uso dbf's ?

Muchas gracias
Juan Arroyo
M茅xico
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Fri Dec 02, 2016 04:01 PM

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
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: 驴C贸mo saber cuanta memoria ocupa mi aplicaci贸n?
Posted: Fri Dec 02, 2016 08:07 PM

Muchas gracias Cristobal

Funciona perfecto

Saludos

Juan Arroyo
M茅xico
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com

Continue the discussion