Article View: be.comp.programming
Article #3633[C/C++] CPU usage meten, WinXP
From: bomberboy
Date: Wed, 19 Nov 2003 22:21
Date: Wed, 19 Nov 2003 22:21
46 lines
2975 bytes
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-mailShow 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