Control de rendimiento

Control de rendimiento

Postby Andrés González » Thu Feb 28, 2008 6:05 am

Hay algún control o función que le pueda añadir a mi programa para que muestre el estado de uso de la memoria gráficamente mientras se ejecuta el programa. Mi intención es poner un pequeño control tipo meter en la barra de mensajes que igual que cuando se pulsa control-alt-del aparezca el uso del rendimiento de la memoria para así poder controlar en todo momento cuando se consume mas memoria y poder así tomar decisiones al respecto.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Biel EA6DD » Fri Feb 29, 2008 9:17 am

Ayer cuando lo comentamos no tenia ni idea como hacerlo, pero luego recorde que con WMI se puede sacar toda la informacion del sistema, aqui te pongo un pequeño ejemplo.
El tema de ponerlo en pantalla graficamente te lo dejo para ti, lo puedes hacer con un timer y un meter.
Code: Select all  Expand view  RUN
#include "FiveWin.Ch"
FUNCTION main()
   LOCAL oLoc,oWmi,oLis, oObj
   LOCAL nTotal:=0,nLibre:=0
   oLoc := CreateObject( "wbemScripting.SwbemLocator" )
   oWmi := oLoc:ConnectServer()
   oLis := oWmi:ExecQuery( "SELECT * FROM Win32_ComputerSystem" )
   FOR EACH oObj IN oLis
      nTotal+=Val( oObj:TotalPhysicalMemory ) //Valor en Bytes
   NEXT
   nTotal:=nTotal/1024 //Convertimos a KB
   oLis := oWmi:ExecQuery( "SELECT * FROM Win32_OperatingSystem" )
   FOR EACH oObj IN oLis
      nLibre+=Val( oObj:FreePhysicalMemory ) //Valor en KB
   NEXT
   ? 'Memoria física total(KB):'+Str(nTotal),;
     'Memoria física libre(KB):'+Str(nLibre),;
     '% memoria ocupada       :'+Str(100-((nLibre*100)/nTotal))

RETURN NIL
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby Kleyber » Fri Feb 29, 2008 11:23 am

Biel,


Esto podria ser una solución a lo que tenemos en FWH, que solo muestra 90% todo el tiempo? Parece interesante...

Saludos,
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
User avatar
Kleyber
 
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Postby MGA » Fri Feb 29, 2008 11:26 am

Biel, saudações amigo...

Biel, como saber as possibilidades de uso do:

ExecQuery( "SELECT * FROM Win32_ComputerSystem")


Digo quais outras chamadas de pode fazer?


Grato
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1254
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby Andrés González » Sat Mar 01, 2008 8:01 am

Gracias Biel eres un genio...

Voy a mirar como ponerlo en mi programa....
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Andrés González » Sun Mar 02, 2008 8:33 am

Kleyber, me habia fijado en tu comentario, ya que por casualidad un dia dando doble click en la barra de mensajes me cambiaba la barra titulo poniendo el estado de memoria, pero no se para que sirve pues nunca varia como tu dices ni la memoria cambia ni los recursos cambian siempre esta al 90%, si alguien sabe a que se debe. Tambien podria ser una solucion para poder instalar un indicador tipo meter aunque no se si en la barra titulo se puede hacer.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Antonio Linares » Sun Mar 02, 2008 11:23 am

Andrés,

> siempre esta al 90%, si alguien sabe a que se debe

Se debe a que las funciones de Windows que se usaban en 16 bits, ya no funcionan en 32 bits y devuelven esos valores (absurdos).

La solución de Biel se ve muy interesante, lo que habría que valorar es si puede afectar al rendimiento global de la aplicación. Es decir, comprobar si al ser llamadas desde un timer, se ejecutan rápidamente y sin consumir mucha CPU y memoria.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42161
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Andrés González » Sun Mar 02, 2008 11:55 am

Gracias Antonio, la solucion esta en realizar la misma operacion que con el doble click en la barra de mensajes. Utilizarlo solo cuando es necesario para ver como consumen la memoria los procesos que haces en un determinado momento y el resto que no actue para nada...
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Alfredo Arteaga » Mon Mar 03, 2008 6:18 pm

Hice pruebas y no veo cambios significativos, solo cuando se abren o cierran otras aplicaciones.

Image

Descargas: http://www.despachoarteaga.com.mx/TG-Test.zip
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Postby Andrés González » Thu Apr 17, 2008 11:22 am

Muy bueno Alfredo eso era lo que quería hacer, mira que empleo el tGraph (bueno mi versión era mas antigua) pero nunca se me había ocurrido hacerlo con esto.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 71 guests