Ytelse og strømsparing

Praktisk guide for Windows og Linux

Denne guiden samler tiltak som kan redusere hakking, jitter og treg respons ved å begrense strømsparingsfunksjoner. Den er skrevet for maskiner som brukes til kode, lyd, video, opptak, eller andre arbeidslaster som prioriterer rask og pålitelig respons.

1. Før du begynner

For de fleste er en moderat profil nok. Start med CPU-plan, Wi-Fi-innstillinger, USB selective suspend og eventuelle OEM-verktøy som griper inn i ytelsen. Gå bare videre til de mer aggressive tiltakene hvis du faktisk merker dropouts, stutter, ustabil latens eller treg oppvåkning.
Merk: noen tiltak øker strømforbruk, temperatur og viftestøy, og enkelte kan være upraktiske på bærbare maskiner. Denne guiden prioriterer respons og forutsigbarhet fremfor energisparing.

Hva gjelder for meg?

Tiltak Stasjonær Bærbar Primær gevinst
CPU-ytelsesprofil ✓ anbefalt Vurder — øker varme Jevn frekvens, lavere latens
Wi-Fi power save av ✓ anbefalt ✓ anbefalt Reduserer nettverksjitter
USB selective suspend av ✓ ved ustabile enheter Vurder — kortere batteritid Stabile USB-enheter
NVMe dype power states av ✓ anbefalt Vurder — øker strømforbruk Jevnere diskrespons
Lydkort autosleep av ✓ anbefalt ✓ anbefalt Eliminerer pop/klikk ved oppstart
IRQ-justering / irqbalance av ✓ ved lyd/nett-jitter Forsiktig — kan øke varme Reduserer interrupt-latens
Systemsøvn deaktivert ✓ der det passer Sjelden aktuelt Eliminerer resume-forsinkelse

2. Windows 10/11

På Windows ligger mye av gevinsten i strømplan, driverinnstillinger, Wi-Fi, USB og OEM-programvare som prøver å være "smart" på dine vegne.

2.1. Trygg standardprofil

Velg høy ytelse i strømplan:

Control Panel → Power Options → High Performance

Ultimate Performance (hvis tilgjengelig):

powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
powercfg -setactive    e9a42b02-d5df-448d-aa00-03f14749eb61

Wi-Fi uten dvale:

  1. Power Options → Advanced → Wireless Adapter Settings → Power Saving ModeMaximum Performance.
  2. Device Manager → Network adapters → Wi-Fi → Properties → Power Management → fjern "Allow the computer to turn off this device…".
  3. I Advanced-fanen, slå av strømsparemodi hvis driveren tilbyr det.

USB selective suspend:

Power Options → Advanced → USB settings → USB selective suspendDisabled.

Disker:

Power Options → Advanced → Hard disk → Turn off hard disk afterNever.

2.2. Aggressiv profil

Vis core parking-innstilling:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583" /v Attributes /t REG_DWORD /d 0 /f

Sett deretter Processor performance core parking min cores til 100%.

Deaktiver dvalefunksjoner hvis det passer arbeidsmåten din:

powercfg /h off
powercfg /devicequery wake_armed
powercfg /devicedisablewake "Intel(R) Wi-Fi 6 AX201"

Lyd og drivere:

  • Fjern strømstyring på lydkort der det finnes.
  • Høye latens-spikes peker ofte på nettverk, lagring eller spesifikke drivere.

OEM-verktøy:

Fjern eller begrens verktøy som setter egne ytelses- og temperaturpolicyer hvis de gir throttling, stutter eller uforutsigbar oppførsel.

GPU:

  • NVIDIA: bruk Prefer maximum performance for relevant app.
  • AMD: unngå profiler med aggressiv downclock under arbeidslast.

2.3. Verifisering

  • Kjør LatencyMon i 1–5 minutter under realistisk bruk — høye spikes peker typisk på nettverks-, lagrings- eller spesifikke drivere.
  • Se i Task Manager → Performance at frekvens og last oppfører seg som forventet.
  • Test resume, nettverk, lyd og eventuell USB-maskinvare etter endringer.

3. Linux

Linux varierer mer enn Windows mellom distroer, init-oppsett, drivere og maskinvare. Kommandoene under er derfor eksempler og utgangspunkt, ikke en universell fasit.

3.1. Trygg standardprofil

Finn nettverksinterface først:

iw dev
ip link

Slå av Wi-Fi power save midlertidig:

sudo iw dev wlp1s0 set power_save off
iw dev wlp1s0 get power_save

Gjør Wi-Fi-innstillingen mer varig via NetworkManager:

sudo mkdir -p /etc/NetworkManager/conf.d
sudo tee /etc/NetworkManager/conf.d/wifi-powersave.conf <<'EOF'
[connection]
wifi.powersave = 2
EOF
sudo systemctl restart NetworkManager

Hvis power_save blir slått på etter suspend:

sudo tee /lib/systemd/system-sleep/wifi-resume <<'EOF'
#!/bin/sh
# Erstatt wlp1s0 med ditt faktiske interface-navn (se: iw dev)
case $1 in
post) /usr/sbin/iw dev wlp1s0 set power_save off ;;
esac
EOF
sudo chmod +x /lib/systemd/system-sleep/wifi-resume

Deaktiver TLP eller lignende bare hvis det faktisk skaper problemer:

sudo systemctl disable --now tlp 2>/dev/null || true
sudo systemctl disable --now laptop-mode 2>/dev/null || true

3.2. Aggressiv profil

CPU i ytelsesmodus

Velg metode etter hva systemet ditt bruker:

Med power-profiles-daemon (Fedora, Arch, Ubuntu 22.04+):

powerprofilesctl set performance
powerprofilesctl get

Med cpupower (tilgjengelig på de fleste distroer):

sudo cpupower frequency-set -g performance
cpupower frequency-info | grep "current policy"

NVMe uten dype power states:

Midlertidig (tilbakestilles ved reboot):

echo 0 | sudo tee /sys/module/nvme_core/parameters/default_ps_max_latency_us

Persistent via kernel-parameter — legg til i bootloader-konfig (f.eks. /etc/default/grub, GRUB_CMDLINE_LINUX):

nvme_core.default_ps_max_latency_us=0

Lydkort uten autosleep:

echo 'options snd_hda_intel power_save=0' | sudo tee /etc/modprobe.d/audio-nosleep.conf

USB uten autosuspend (nyttig ved dropouts eller ustabile USB-enheter, men unødvendig på mange systemer):

sudo tee /etc/udev/rules.d/99-usb-nosuspend.rules <<'EOF'
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="on"
EOF

Ingen systemsøvn:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

IRQ-håndtering

irqbalance fordeler interrupts mellom CPU-kjerner for gjennomstrømning, men kan forverre latens for lyd- og nettverksdrivere. Deaktiver det og pin kritiske IRQer manuelt hvis du opplever uforutsigbar jitter:

sudo systemctl disable --now irqbalance

# Finn IRQ-nummer for nettverkskort og lydkort
grep -E "eth|wlan|snd|nvme" /proc/interrupts

# Pin en IRQ til én kjerne (eksempel: IRQ 32 til CPU 2)
echo 4 | sudo tee /proc/irq/32/smp_affinity
Merk: IRQ-pinning er avansert. Feil konfig kan gi dårligere ytelse. Test med cyclictest eller rtla før og etter for å bekrefte effekten.

Realtime-prioritering for lyd (JACK, PipeWire)

rtkit lar lydservere be om realtime-prioritet uten root. Verifiser at den kjører og at brukeren din har tilgang:

systemctl status rtkit-daemon
groups $USER | grep audio

For PipeWire: sett default.clock.quantum lavt (f.eks. 64 eller 128) i ~/.config/pipewire/pipewire.conf.d/ for lavere latens.

3.3. Verifisering

Sjekk at innstillingene er aktive:

iw dev wlp1s0 get power_save
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/module/nvme_core/parameters/default_ps_max_latency_us

Grunnleggende nettverkslatens:

ping -c 50 192.168.1.1

Systemlatens med cyclictest (fra rt-tests-pakken):

# Kjør i 30 sekunder under realistisk last
sudo cyclictest --mlockall --priority=80 --interval=200 --distance=0 --duration=30 \
  --histogram=400 --quiet

Mer detaljert analyse med rtla (Linux 5.17+, inkludert i linux-tools):

sudo rtla timerlat top -d 30s
Ikke anta at alle "ytelses-tweaks" gir målbar gevinst. Behold det som faktisk forbedrer din arbeidslast, og fjern resten.