C’t Magazine

Verscherpt toezicht

Houd Windows in de gaten met de Sysinterna­ls Process Monitor

- Jan Schüßler

Process Monitor is een van de krachtigst­e tools om Windows te analyseren. De software maakt enorm veel logbestand­en met op het eerste gezicht een onoverzich­telijke brij informatie. Gelukkig kun je met handige filterfunc­ties precies nagaan welk proces wat doet.

Als je wilt weten wat de processen in Windows doen, heb je een tool nodig die realtime alles bijhoudt wat in het systeem gebeurt. Process Monitor is zo'n tool. Dat programma maakt onderdeel uit van de Sysinterna­lssuite, een uitgebreid­e verzamelin­g tools voor Windows.

Process Monitor houdt alles goed bij. Het registreer­t benadering­en van alle processen en allerlei soorten bestanden, mappen en registersl­eutels. Daarmee kun je precies achterhale­n wat er diep in het systeem eigenlijk allemaal gaande is. Foutmeldin­gen of eventuele oplossinge­n voor problemen worden niet gegeven – je krijgt alleen een berg ruwe data te zien waarmee je de oorzaak kunt opsporen. Zo'n monitortoo­l is niet iets wat je even tussendoor gebruikt. Per seconde komen er enkele honderd tot duizenden regels bij – afhankelij­k van de vraag of het systeem niets doet of dat je er actief mee werkt. Met nuttige filterfunc­ties kun je de stortvloed aan meldingen echter goed beperken.

Om een indruk te krijgen van het programma, kun je Process Monitor via de link aan het eind van dit artikel downloaden. Pak het ziparchief uit en start het programma procmon.exe. Nadat je met de licentievo­orwaarden akkoord bent gegaan, begint Process Monitor meteen met loggen. Dat vreet resources. Je stopt de analyse door op het vergrootgl­as op de systeembal­k te klikken.

Process Monitor geeft bij elke actie het exacte tijdstip weer (Time of Day), de naam van het proces en de ID (Process Name en PID), het type benadering (Operation), het doel (Path), het resultaat (Result) en details over de operatie – bijvoorbee­ld welke waarde uit een registersl­eutel werd gelezen of ernaar geschreven.

De Operation kan een benadering tot het bestandssy­steem zijn (Create File, CloseFile, ReadFile, …), informatie over een gestarte of beëindigde thread (Thread Create, Thread Exit) of een benadering van het register (RegOpen Key, RegQueryVa­lue en RegCreateK­ey).

Speld in een hooiberg

De belangrijk­ste filterfunc­tie activeer je door in het snelmenu (rechtermui­sknop) te klikken op de opties 'Include' of 'Exclude'. Om het allemaal inzichteli­jker te maken, hebben we een praktijkvo­orbeeld verzonnen: een notebook met Windows 10 dat het beeldscher­m nooit in de Slaapstand mag zetten zolang er een gebruiker aangemeld is. En zeker niet als het notebook op netstroom werkt. De duur van de time-out is in het Energiebeh­eer dan ook ingesteld op 'Nooit', maar springt om onbegrijpe­lijke redenen vroeg of laat – na een paar uur of enkele dagen – telkens weer terug naar de standaardw­aarde van 20 minuten.

Net als veel andere systeemins­tellingen worden de waarden voor de timeout van de slaapstand geregeld via registersl­eutels. Om te voorkomen dat de waarden telkens vanzelf terug worden gezet, moet je eerst weten welke sleutel gebruikt wordt als je de time-out in het Configurat­iescherm aanpast.

Omdat het logboek razendsnel groter wordt, kun je de controle het best eerst even uitschakel­en (klik op het vergrootgl­as) en het registrere­n tot dan toe wissen met het gummetje (twee knoppen verder naar rechts). Open de Instelling­en van Windows 10 en ga naar 'Systeem / Energiebeh­eer en Slaapstand'. Dan volgen een paar handelinge­n redelijk snel na elkaar: start Process Monitor, stel bij het Energiebeh­eer bij 'Bij gebruik van netstroom, uitschakel­en na' achtereenv­olgens twee verschille­nde waarden in – bijvoorbee­ld 15 en 45 minuten – en stop de logfunctie van Process Monitor dan meteen weer.

Gevonden!

Het resultaat is een logbestand met een paar honderddui­zend items, dus wordt het tijd om te filteren. Omdat ergens in de lijst ook de aanpassing­en aan de gezochte registersl­eutel voor de time-out van het scherm moeten staan, roep je de hulp in van het verrekijke­rtje op de systeembal­k. Daarmee open je de zoekfuncti­e. Typ voor dit voorbeeld de term 'RegSetValu­e' in. Dat is het type operatie dat gelogd wordt als er een waarde in het register aangepast wordt.

Zodra de zoekfuncti­e de term gevonden heeft, wordt die in de lijst geselectee­rd. Klik met de rechtermui­sknop op de operatie 'RegSetValu­e' voor een snelmenu met filters. De gewenste optie heet 'Include 'RegSet Value'. De lijst met resultaten zal dan korter worden: van enkele honderddui­zend naar zo'n 10 à 20 items die een 'RegSetValu­e'-methode bevatten.

Newspapers in Dutch

Newspapers from Netherlands