En Windows-industri-PC kjørte et tungt CAM- og simuleringsprogram, og med jevne mellomrom bare forsvant det til skrivebordet. Ingen feilmelding, ingen dialogboks, bare vekk. Verst var det om natten, mens maskinen stod og gjorde ingenting. Ingen var innlogget, ingen jobb kjørte. Applikasjonen fikk skylden, slik den gjerne gjør. Den var uskyldig.
Symptomet peker mot strøm, ikke programmet

Et program som kneler under tung last er én ting. En maskin som kneler mens den står helt i ro er noe helt annet. Krasj på tomgang, uten last, midt på natten, peker i praksis mot to ting: strømstyring og GPU-timeout. Ikke koden i CAM-programmet.
Årsaken viste seg å være en kombinasjon:
- GPU Timeout Detection and Recovery (TDR) som resatte grafikkdriveren
- En ustabil OpenGL-driver, altså gaming-varianten
- En bakgrunnsoppdaterer for grafikkortet som stadig pokket på driveren
- Aggressiv strømsparing som senket GPU-en ned i en ustabil lavtilstand
På tomgang klokker grafikkortet seg ned til laveste tilstand. Med en ustabil driver og PCIe-strømsparing påslått henger GPU-en da akkurat lenge nok til at TDR slår inn, resetter driveren, og OpenGL-konteksten til programmet ryker. Programmet tar med seg skrivebordet i fallet.
Tiltakene

Bytt fra gaming-driveren til produsentens stabile Studio-driver. Studio-grenen er laget for OpenGL-tunge produksjonsverktøy, ikke for bildefrekvens i spill, og det er nettopp det denne maskinen driver med.
Avinstaller bakgrunnsoppdaterings-suiten for grafikk. Den har ingenting å gjøre på en produksjonsmaskin, og den drar med seg driverbytter du ikke har kontroll over.
Slå av PCIe ASPM (Active State Power Management), både i BIOS og i Windows strømplan. Sett strømplanen til høy ytelse, så GPU-en holdes i en stabil tilstand i stedet for å sovne.
Kontrollpanel > Strømalternativer > Endre planinnstillinger >
Endre avanserte strøminnstillinger >
PCI Express > Link State Power Management > Av
Øk TDR-timeouten i registeret, så en kort GPU-henging ikke drar med seg en full driverreset. Standard er 2 sekunder, som er i knappeste laget her. Sett den høyere.
reg add "HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" ^
/v TdrDelay /t REG_DWORD /d 10 /f
Verdien er i sekunder. 10 gir GPU-en litt pusterom før TDR griper inn. Krever omstart. Å skru TDR helt av frarådes: da henger hele maskinen ved en ekte GPU-lås i stedet for å hente seg inn igjen.
Resultat
Etter Studio-driver, fjernet oppdateringssuite, avslått ASPM og hevet TdrDelay ble det stille. Ingen nattkrasj. Maskinen står på tomgang uten å falle om.
Regelen
Når en maskin krasjer i ro og ikke under last, se på strømstyring og TDR før du klandrer applikasjonen. Last-krasj er kode. Tomgangs-krasj er strøm. Det er to forskjellige spor, og de blandes altfor ofte sammen. Start med det billigste: driver-gren, strømplan, ASPM, TdrDelay. Og bytt én ting av gangen, ellers vet du aldri hva som faktisk virket.



