Belasting processor en videokaart meten

Render van een AMD Threadripper Pro-cpu
Je cpu en gpu bepalen grotendeels hoe je systeem presteert. Blijken deze prestaties soms ondermaats, dan wil je natuurlijk nagaan welk proces daarvoor verantwoordelijk is en wat de impact is. Zo’n controle kan in realtime gebeuren, maar kan ook over een kortere of langere periode lopen.

Nagaan hoe zwaar je cpu en gpu het te verduren krijgen, kun je eigenlijk op twee niveaus doen. Per applicatie, waarbij je controleert hoe zwaar een specifiek proces, service of applicatie je processors belast, en systeembreed, waarbij je het cpu- of gpu-gebruik meer globaal monitort. Beide methodes komen in dit artikel aan bod. We gaan ook kort in op wat je met de analyseresultaten kunt doen. Immers, naast flinke ingrepen als een nieuwe processor plaatsen of een huidige processor stevig overklokken, laat het processorgebruik zich ook wel minder ingrijpend bijsturen.

Op applicatieniveau

Vanuit het Taakbeheer van Windows kun je de processorbelasting van een specifiek proces nagaan. Druk op Ctrl+Shift+Esc en open het tabblad Processen. Via het menu Beeld / Bijwerksnelheid kun je de scanfrequentie verhogen of verlagen. Bovenaan de kolommen Processor en GPU zie je het globale, actuele gebruik van cpu en gpu, maar je krijgt dit ook mooi uitgesplitst over de actieve processen. Klik op een kolomtitel om die volgens dat criterium te ordenen.

Voor sommige processen, zoals browsers, zie je een pijltje staan, klik daarop om de onderliggende processen te zien. Bij Google Chrome is dat helaas telkens dezelfde naam (Google Chrome) hoewel de kolom PID (Process ID) aangeeft dat het om verschillende processen gaat. Om deze te identificeren, open je de browser en kies je Meer hulpprogramma’s / Taakbeheer.

Vanuit het tabblad Details in het Taakbeheer kun je nog veel meer informatie opsporen. Klik met rechts op een kolomtitel en kies Kolommen selecteren, waarna je items kunt aanduiden als Processortijd, GPU-engine, Toegewezen GPU-geheugen en Gedeeld GPU-geheugen (zie het kader ‘Gpu-onderdelen’). Je kunt hier tevens diverse onderdelen met betrekking tot schijf-I/O en geheugengebruik selecteren.

Ga na hoe zwaar elk proces je gpu belast en welke engines worden aangesproken.

Gpu-onderdelen

Een gpu-engine is onafhankelijke gpu-unit, waarbij elke unit uit meerdere gpu-kernen kan bestaan. Het is perfect mogelijk dat zo’n engine parallel met een andere engine kan werken en zelfs dezelfde onderliggende kernen deelt (vergelijkbaar met hyperthreading bij een cpu). Er zijn bijvoorbeeld engines voor datatransfer, encryptie, 3D-weergave enzovoort. De aanduiding Toegewezen GPU-geheugen wijst op geheugen dat exclusief is voorbehouden aan de gpu, hetzij VRAM (bij een afzonderlijke grafische kaart), hetzij DRAM oftewel gereserveerd systeemgeheugen. Dit laatste komt voor bij geïntegreerde gpu’s, hoewel die ook geheugen kunnen gebruiken dat ze met de cpu delen (de aanduiding Gedeeld gpu-geheugen). Windows laat de gpu niet meer dan de helft van het beschikbare fysieke DRAM opeisen.

Affiniteit en prioriteit

Wanneer je op het tabblad Details met rechts op een proces klikt, dan kun je zowel de affiniteit als de prioriteit instellen. Met affiniteit geef je aan op welke processorkernen de proces-threads moeten worden uitgevoerd (standaard zet Windows alle kernen in). De prioriteit verwijst naar de cpu-tijd die een proces krijgt toegewezen. Een proces krijgt standaard de prioriteit Normaal toebedeeld, maar er zijn nog vijf andere niveaus beschikbaar, van Laag tot Realtime.

Het is ook mogelijk een applicatie standaard met een specifieke affiniteit en prioriteit op te starten. Klik met rechts op de bijbehorende snelkoppeling en kies Eigenschappen. Op het tabblad Snelkoppeling, bij Doel, vul je dan het volgende in:

cmd.exe /c start "<applicatienaam>" /<prioriteitswaarde> /affinity <hex-waarde> "<pad_naar_applicatie>"

Dit kan bijvoorbeeld zijn:

cmd.exe /c start "EventSentry" /high /affinity 3F " "D:\Program Files (x86)\ESL\eventsentry_gui.exe"

De waarde achter /affinity vereist enige toelichting. Stel, er zijn zestien logische processors en je wilt alleen de eerste zes gebruiken (0000000000111111), dan druk je dit met hexadecimale waarde 3F uit (een converter vind je via https://kwikr.nl/rthex).

Systeembreed (kort)

Om je processors systeembreed te monitoren, kun je weer terecht bij het Taakbeheer, op het tabblad Prestaties. Selecteer Processor voor het cpu-gebruik. Via Beeld / Bijwerksnelheid schakel je tussen een gemeten tijdsduur van 30 seconden tot 4 minuten. Voor het gpu-gebruik selecteer je GPU <x>: GPU 0 voor je geïntegreerde gpu en GPU 1 of hoger voor externe grafische kaarten. Gebruik je CrossFire of SLI voor parallelle gpu-verwerking, dan merk je dat aan de indicatie (Link 0) achter GPU <x>. Je krijgt hier standaard de meestgebruikte engines te zien, maar met de pijltjes links boven de grafieken kun je ook andere selecteren.

Wil je het gpu-gebruik iets langer monitoren, overweeg dan het portable GPU-Z te gebruiken. Start de tool en selecteer linksonder je grafische adapter. Open het tabblad Sensors: via de knop Settings selecteer je de gewenste data evenals de scanfrequentie. Met pijlknopjes geef je aan welke waarden je wilt zien. Plaats een vinkje bij Log to file linksonder om de gegevens in een txt-bestand op te slaan. Je kunt dit bestuderen met Excel, maar Generic Log Viewer werkt overzichtelijker. Start de tool, klik op Open File, duid GPU-Z aan en verwijs naar je logbestand. Duid aan hoeveel diagrammen en kolommen je wilt, waarna je in een keuzemenu aangeeft welke informatie je in elk diagram wenst.

Generic Log Viewer geeft de ruwe data van de GPU-Z-sensoren mooi weer in grafieken.

Systeembreed (lang)

Wil je het processorgebruik over een langere periode meten, dan zet je de ingebouwde Prestatiemeter van Windows in. Druk op Windows-toets+R en voer perfmon.exe uit.

Open de sectie Gegevensverzamelaarsets en klik met rechts op Gedefinieerd door de gebruiker. Selecteer Nieuw / Gegevensverzamelaarsets. Vul een naam in, kies Handmatig maken (geavanceerd) en klik op Volgende.

Je kiest uit drie gegevenstypes:

- Componenten van Windows of van applicaties die gebeurtenissen rapporteren (Gegevens van gebeurtenistracering);

- Registerwijzigingen (Informatie over de systeemconfiguratie);

- Prestatiemetingen (Prestatiemeteritem).

Wij kiezen hier voor het laatste type. Druk op Volgende en op Toevoegen, waarna je items van GPU of Processor markeert om die met Toevoegen >> naar het rechterdeelvenster over te zetten. Zodra je alle nodige items hebt toegevoegd, druk je op OK en bepaal je het steekproefinterval. Rond af met Volgende (2x) en Voltooien.

Open nu Gegevensverzamelaarsets / Gedefinieerd door de gebruiker, klik met rechts op je set en klik op Starten (of Stoppen). Open de sectie Rapporten en dubbelklik op het rapport om het cpu- en gpu-gebruik in een grafiek te zien.

Met Prestatiemeter kun je cpu-en gpu-gebruik ook over een langere periode monitoren.
De prestatiemeter meet het cpu-gebruik over een langere periode

Energiebeheerschema’s

Via zogeheten energiebeheerschema’s kun je het globale cpu- en gpu-gebruik enigszins optimaliseren. Start de module Energiebeheer in het Windows-startmenu, kies Een energiebeheerschema maken en selecteer een schema. Tik een naam in, stel de gewenste opties in en bevestig met Maken. Klik bij je schema op De schema-instellingen wijzigen / Geavanceerde energie-instellingen wijzigen. Doorloop hier de beschikbare opties, zoals Energiebeheer voor processor en […] Graphics instellingen en stel die naar wens in. Bevestig met OK.

Geschreven door: Toon van Daele op

Category: Workshop, Desktopsystemen

Tags: videokaart, processor, meten, belasting