🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #3633

[C/C++] CPU usage meten, WinXP

#3633
From: bomberboy
Date: Wed, 19 Nov 2003 22:21
46 lines
2975 bytes
Hallo,

Ik ben op zoek naar een, bij voorkeur eenvoudige, manier om de CPU-usage
te meten.  Het doelplatform is een TabletPC met winXP Tablet Edition.  Dus
ik vermoed dat de oplossing voor WinXP of Win2k ook zal werken.

In win9* kan dit gewoon gelezen worden in een registry-key, maar dat is
niet zo in 2k en XP.
Vanaf Win2k is er wel de pdh-api beschikbaar (Performance Data Helper)
maar ik ben er niet echt happig op om deze te gebruiken.
Immers:
- Als compiler gebruik ik MinGW en deze heeft geen pdh-header beschikbaar
en ik ben persoonlijk niet echt van van de Visual* omgevingen.  Maar
indien nodig zet ik mij daar wel overheen :)
- Een tweede reden is dat aan deze pdh je performance-counter objecten
moet toevoegen, maar blijkbaar zijn de namen van deze objecten vertaald
naar de taal van het OS.  Een imho niet zo denderende beslissing van de
MS-programmeurs.
- Heel die pdh structuur lijkt me nogal zwaar voor wat ik wil doen (enkel
cpu-usage)

Het zou ideaal zijn indien dit alles in ��n enkele methode-oproep kan
samengebald worden.  Het uiteindelijke doel is immers dat deze methode dan
via JNI in een java-klasse kan opgeroepen worden.

Voorlopig ben ik nog niet tot een oplossing gekomen die aan deze eisen kan
voldoen.  Er blijkt immers geen rechtstreekse methode native methode te
zijn om dit op te vragen.

Een oplossing waar ik ook al aan gedacht had was hiervoor het idle-proces
te (mis)(ge)bruiken en via een getProcessTimes-achtige methode de tijd
ervan op te vragen en hieruit dan het echte gebruik af te leiden.  Het
probleem is dat hiervoor een extra thread nodig is om om de x-aantal
tijdseenheden dan die tijden opvraagt, vergelijkt met de vorige tijd enz.
Maar die extra thread zou ik eigenlijk graag vermijden.  Hoewel dat
waarschijnlijk niet zal mogelijk zijn.


Iemand die enkele tips heeft?
Bedankt.

-- 
Bruno

Politicians do it to everyone.
Technical Details
Message-ID: <pan.2003.11.19.22.21.43.228171@pandora.invalid>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!uio.no!newsfeed.vmunix.org!aotearoa.belnet.be!news.belnet.be!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,7f823d520c6d9a2a,start
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-11-19 14:21:44 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!uio.no!newsfeed.vmunix.org!aotearoa.belnet.be!news.belnet.be!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail
From: bomberboy <newsbomber@pandora.invalid>
Organization: Me, Myself & I
Subject: [C/C++] CPU usage meten, WinXP
User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.)
Message-ID: <pan.2003.11.19.22.21.43.228171@pandora.invalid>
Newsgroups: be.comp.programming
Reply-To: newsbomber@pandora.be
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
Lines: 47
Date: Wed, 19 Nov 2003 22:21:43 GMT
NNTP-Posting-Host: 213.224.3.87
X-Complaints-To: abuse@telenet.be
X-Trace: phobos.telenet-ops.be 1069280503 213.224.3.87 (Wed, 19 Nov 2003 23:21:43 MET)
NNTP-Posting-Date: Wed, 19 Nov 2003 23:21:43 MET