Control de rendimiento

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

Control de rendimiento

Post by Andrés González »

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
Biel EA6DD
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

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

#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
Kleyber
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Post by Kleyber »

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
MGA
Posts: 1258
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Post by MGA »

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
User avatar
Andrés González
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Post by Andrés González »

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

Post by Andrés González »

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
Antonio Linares
Site Admin
Posts: 42655
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 67 times
Been thanked: 96 times
Contact:

Post by Antonio Linares »

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
Andrés González
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Post by Andrés González »

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
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

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
Andrés González
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Post by Andrés González »

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
Post Reply