Dvalemodus i GNU Linux: En komplett og praktisk guide

Siste oppdatering: 14 januar 2026
Forfatter: TecnoDigital
  • Dvalemodus i GNU/Linux lagrer hele RAM-tilstanden for å bytte og slår av datamaskinen, mens hvilemodus holder minnet i RAM med lavt strømforbruk.
  • For at dvalemodus skal fungere pålitelig, kreves kjernestøtte og tilstrekkelig swap-plass, enten en swap-partisjon eller en godt konfigurert swap-fil.
  • Ulike verktøy (systemd, pm-utils, uswsusp og PolicyKit) lar deg aktivere, kontrollere eller deaktivere dvalemodus og suspensjon avhengig av distribusjons- og bruksscenario.
  • Valget mellom å sette maskinen i hvilemodus, dvalemodus eller starte på nytt med gjenoppretting av økten avhenger av balansen du ønsker mellom energisparing, hastighet på tilbakeføring til arbeid og systemstabilitet.

Dvalemodus i GNU/Linux

Dvalemodus i GNU/Linux er fortsatt en av de funksjonene alle har hørt om, men som ikke alltid er godt forstått eller konfigurert riktig. Mange brukere kommer hit og har problemer med Windows eller bærbare datamaskiner som slår seg av uventet, og vil vite nøyaktig hva hver strømmodus gjør og hvordan de skal kontrollere den i Linux-distribusjonen sin.

I de nyeste kjerneversjonene og større distribusjoner har ting blitt betydelig bedre, men det gjenstår viktige nyanser mellom dvalemodus, hvilemodus og avslutning med gjenåpning av dokumenter , samt tekniske detaljer som bruk av swap (partisjon eller fil) som er verdt å forstå. La oss bryte ned alt dette rolig, men på en klar og praktisk måte.

Dvalemodus, suspensjon og omstart med gjenoppretting av økt: hvordan de skiller seg

Før du berører noe i innstillingene, er det viktig å forstå hva hver strømsparingsmodus faktisk gjør , fordi konsepter ofte blandes sammen, og så kommer sjokkene med tapte data eller tomme batterier.

Når vi snakker om dvalemodus i operativsystemer, refererer vi til en prosess som fryser hele systemtilstanden : åpne programmer, dokumenter, tjenester, skrivebordsinnstillinger, buffere osv. Alt dette innholdet fra RAM lagres på et permanent lagringsmedium (vanligvis diskswapperen), og maskinen slås helt av.

Dette betyr at dvalemodus ikke er det samme som å bare la filer være åpne og slå av datamaskinen, og det er heller ikke det samme som å sette den i hvilemodus. Det er tregere enn å sette den i hvilemodus på grunn av RAM, men det sparer betydelig mer energi fordi datamaskinen er helt avslått, uten strømforbruk.

På den annen side tilbyr noen systemer noe som ligner på en "omstart med gjenåpning av dokumenter", der systemet slår seg av normalt, men ved omstart startes programmene som var åpne automatisk på nytt . I GNU/Linux etterligner mange distribusjoner denne skrivebordsmiljøoppførselen, men dette er ikke dvalemodus: det er fortsatt en kald oppstart med alle tjenester startet fra bunnen av.

Fordelen med dvalemodus fremfor en omstart med appgjenoppretting er at kjernen og brukerområdet ikke starter på nytt fra bunnen av ; i stedet gjenopprettes et komplett bilde av forrige tilstand. Derfor, når alt fungerer som det skal, kan du gjenoppta arbeidet ditt nøyaktig der du slapp, uten å åpne dokumenter på nytt eller konfigurere vinduer på nytt.

Strømmoduser i GNU Linux

Hva er suspensjon i Linux, og hvorfor er det verdt å bruke det?

I hvilemodus genererer operativsystemet et live-bilde av gjeldende tilstand (programmene dine, dokumentene dine, skrivebordet), men i stedet for å skrive det til disken, legger det det igjen i RAM, som er ustabilt.

Når systemet suser i dvalemodus, slår kjernen av så godt som alle maskinvareenheter: disk, skjerm, mesteparten av brikkesettet ... De eneste komponentene som forblir strømførende er RAM og det aller minste av hovedkortet for å kunne "våkne" når du trykker på en tast, beveger musen eller åpner lokket på den bærbare datamaskinen.

Denne modusen er flott når du vil ha en nesten umiddelbar tilbakevending til skrivebordet og ikke er altfor bekymret for strømforbruket mens datamaskinen er inaktiv. En moderne bærbar PC kan forbli i hvilemodus i én til tre dager på batteristrøm, men i løpet av den tiden bruker den litt energi for å holde RAM-en i gang.

Normal hvilemodus anbefales spesielt hvis du har mer enn 2 GB RAM og begrenset diskplass (for eksempel på små SSD-er), eller hvis du snart skal bruke datamaskinen igjen. Dette er typisk når du lukker lokket i noen minutter mellom timene eller stopper for lunsj.

Hybridfjæring: en blanding av RAM og disk

Det finnes en tredje, mindre kjent modus: hybrid suspendering . I dette tilfellet utfører systemet hele dvalemodusprosessen (skriver innholdet i minnet til disk, vanligvis for å bytte plass), men i stedet for å slå seg av helt, går det inn i en suspendert tilstand i RAM.

  Slik gjør du om en gammel PC til en NAS med Unraid og andre alternativer

Dette skaper et blandet scenario: hvis batteriet varer, vil du vekke systemet like raskt som en vanlig hvilemodus ; men hvis strømmen går tom, vil det lagrede diskavbildningen la deg gjenopprette økten som om den hadde gått i dvalemodus.

Ulempen med denne modusen er at det tar lengre tid å gå inn og ut enn en ren hvilemodus, fordi den skriver til disk og også holder RAM-en drevet. Av denne grunn brukes den ofte på servere eller arbeidsstasjoner som krever et ekstra sikkerhetsnivå mot tilstandstap.

Hvordan dvalemodus fungerer internt i GNU/Linux

Når du setter et GNU/Linux-system i dvalemodus, utfører kjernen en rekke veldefinerte trinn for å registrere og gjenopprette maskinens fullstendige tilstand . Det handler ikke bare om å "lagre RAM-en til en fil", og det er det.

Den typiske suspend-to-disk- prosessen følger denne generelle sekvensen:

  • Brukerprosesser stoppes for å fryse tilstanden og forhindre at den fortsetter å endre minne mens opptaket pågår.
  • Maskinvareenheter fryses eller stoppes for å forhindre minneendringer knyttet til kontrollere og DMA.
  • Bildet av dvalemodus skapes: Hele innholdet i RAM-en kopieres med avbrudd deaktivert.
  • Maskinvareenhetene reaktiveres på en kontrollert måte.
  • Bildet er skrevet i bytteplass, som da regnes som et suspensjonsområde (swsusp eller linux-suspend).
  • Til slutt er alle enheter suspendert og datamaskinen er helt slått av.

Ved omstart sjekker oppstartssystemet om det finnes et gyldig dvalemodusbilde :

  • Hvis det finnes én, Den starter ikke normalt.men leser bildet fra byttet.
  • Enhetene fryses igjen for å forhindre interferens.
  • Bildet kopieres fra veksleren til RAM-minnet, og reaktiver prosesser og enheter slik de var før de gikk i dvale.

En merkelig detalj observert i testing i den virkelige verden er at etter dvalemodus vises den tidligere "linux-swap-partisjonen" merket som linux-suspend eller swsusp i verktøy som GParted eller parted. Denne endringen i partisjonstype er en av ledetrådene systemet bruker for å avgjøre om det skal gjenopprettes fra dvalemodus eller utføre en ren oppstart.

Viktigheten av å bytte under dvalemodus

Hele denne mekanismen involverer et nøkkelkrav: for å gå i dvalemodus i Linux trenger du tilstrekkelig med swap-plass , både i størrelse og konfigurasjon. Uten swap vil systemet ikke ha noe sted å lagre RAM-imaget.

Byttingen kan være:

  • en dedikert partisjon med systemtypen linux-swap.
  • Un byttefil ligger i et vanlig filsystem (for eksempel i /swapfile).

Av praktiske årsaker behandler kjernen begge deler som transparent bytteplass. Men for å bruke en swapfile som dvalemodusdestinasjon Du må fortelle kjernen, gjennom oppstartsbehandleren, parametere som resume= (enhet) og resume_offset= (forskyvning i filen). Hvis dette ikke gjøres, vil systemet starte opp fra bunnen av og vil ikke gjenopprette imaget, selv om det skrives til disk.

Når det gjelder størrelse, er den klassiske anbefalingen for pålitelig dvalemodus at vekslingsplassen bør være minst like stor som det fysiske RAM-minnet . Det er sant at hvis systemet er under tung belastning, kan du noen ganger gå i dvalemodus med en litt mindre vekslingsplass, men dette er ikke sikkert og bør ikke generaliseres. På systemer med 32 GB eller 64 GB RAM eller mer, fraråder mange administratorer dvalemodus helt på grunn av tids- og plassbegrensninger.

Det er også verdt å huske at mekanismer som zram eller zswap oppretter et komprimert bytteområde i selve RAM-en. Disse er fantastiske for å forbedre ytelsen på systemer med begrenset minne, men de er ikke egnet for dvalemodus: siden de er ustabile, vil bildet forsvinne når strømmen brytes.

Dvalemodus på swap-partisjon vs. swapfile

I årevis ble det ansett som nesten obligatorisk å ha en dedikert swap-partisjon hvis man ville gå i dvalemodus uten komplikasjoner. Kjernen og verktøy som initramfs oppførsel var i stor grad basert på den klassiske modellen.

Mange moderne distribusjoner, som nyere versjoner av Ubuntu, har imidlertid byttet til å bruke en swapfil som standard i stedet for en partisjon . Dette betyr ikke at du mister muligheten til å gå i dvalemodus; det endrer bare hvor systemtilstanden lagres.

  Slik konfigurerer du Ubuntu til å se ut som Windows 11 eller macOS

I begge tilfeller er den underliggende prosessen den samme: Bildet fra RAM går til et permanent bytteområdeForskjellen er at med en swapfile må systemet vite den nøyaktige blokken på disken der filen starter (derav parameteren). resume_offset) for å kunne lese bildet tidlig under oppstart.

Praktiske eksperimenter på Debian og Debian-baserte maskiner har vist at formatering eller sletting av swap-partisjonen der dvalemodusavbildningen ble lagret, resulterer i en ren oppstart, som om dvalemodus aldri hadde forekommet. Dette bekrefter at avbildningen faktisk er lagret i swap og ikke et annet sted på disken.

Kjernekrav og støtte i distribusjoner

I tillegg til vekslingsplass må Linux-kjernen ha støtte for dvalemodus aktivert . Hvis du kompilerer din egen kjerne og deaktiverer dette alternativet, vil du ikke kunne gå i dvalemodus uansett hvor mange konfigurasjoner du justerer i distribusjonen.

I praksis bruker de fleste distribusjoner kjernen som er pakket av selve prosjektet, og i slike tilfeller er dvalemodus vanligvis aktivert som standard sammen med resten av de vanlige strømstyringsfunksjonene og driverne.

Imidlertid viser ikke alle distribusjoner alltid «Dvalemodus»-knappen i de grafiske menyene sine. Noen, som Ubuntu i visse versjoner, skjuler alternativet på skrivebordet som standard selv om kjernen og dvalemodusinfrastrukturen er fullt operativ.

Slik aktiverer du dvalemodus i Ubuntu ved hjelp av PolicyKit

På Ubuntu-systemer der dvalemodusalternativet ikke vises i avslutningsmenyen, kan det aktiveres på nytt relativt enkelt ved å endre noen PolicyKit-regler. Tanken er å gi vanlige brukere tillatelse til å aktivere dvalemodushandlingene upower og logind.

Den typiske prosedyren innebærer å opprette en konfigurasjonsfil, for eksempel com.ubuntu.enable-hibernate.pklamed innhold som ligner på dette (tilpasset syntaksen som brukes av verktøyene dine):


Identitet=unix-bruker:*
Action=org.freedesktop.upower.hibernate
ResultatAktivt=ja


Identitet=unix-bruker:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultatAktivt=ja

Når filen er opprettet, må den plasseres i /etc/polkit-1/lokalmyndighet/50-lokal.d/For å gjøre dette kan du åpne filbehandleren som administrator (for eksempel med gksudo nautilus i miljøer som fortsatt støtter det) og lime det inn i den mappen.

Etter at systemet er startet på nytt, vil Ubuntu-skrivebordet vise dvalemodusalternativet sammen med alternativene for avslutning, omstart og hvilemodus. Selvfølgelig kreves det fortsatt et tilstrekkelig stort vekslingsrom og en kjerne med dvalemodusstøtte.

GNU Linux dvalemoduskonfigurasjon

Dvalemodus- og suspenderingskommandoer fra terminalen

Hvis du foretrekker terminalen eller bruker lette miljøer (Fluxbox, IceWM, Openbox, JWM osv.) der det ikke finnes forhåndskonfigurerte av/på-knapper, kan du kontrollere dvalemodus og hvilemodus direkte med kommandoer.

Bruk av pm-utils

I mange klassiske Debian/Ubuntu-distribusjoner tilbyr pm-utils- pakken flere enkle kommandoer:

  • pm-suspendDette setter maskinen i pausemodus og setter den i RAM-modus. De fleste enheter slås av, og tilstanden opprettholdes i minnet. Strømforbruket reduseres betydelig, men det brukes fortsatt energi.
  • pm-dvalemodusSetter systemet i dvalemodus ved å lagre RAM på disk (swap) og slå av datamaskinen helt.
  • pm-suspend-hybridDen utfører dvalemodus på disken, og i stedet for å slå seg av, setter den RAM i hvilemodus, og oppnår dermed en "hybrid søvn".

Den grunnleggende bruken ville være:

sudo pm-suspend
sudo pm-dvalemodus
sudo pm-suspend-hybrid

På Arch Linux-baserte systemer og andre som vedlikeholder det i sine repositorier, kan du også bruke disse kommandoene, selv om pm-utils har blitt forlatt til fordel for systemd i mange moderne distribusjoner.

Bruk av systemd (systemctl)

I distribusjoner med systemd (OpenSUSE, mange versjoner av Arch og derivater, moderne Debian, osv.), er den anbefalte måten å bruke systemctl :

  • systemctl suspendere: suspenderer RAM.
  • systemctl dvalemodus: går i dvalemodus til disk.
  • systemctl hybrid-søvn: aktiverer hybridfjæring.

For eksempel, i OpenSUSE eller et hvilket som helst typisk systemd-system, kan du direkte kalle:

sudo systemctl dvale

I mange distribusjoner, hvis du foretrekker å opprettholde kompatibilitet med eldre verktøy, er pm-hibernate fortsatt tilgjengelig og delegerer eller sameksisterer ganske enkelt med systemd avhengig av konfigurasjonen.

Bruker uswsusp: s2ram, s2disk og s2both

En annen verktøyfamilie, mindre vanlig nå for tiden, er uswsusp , som tilbyr kommandoene s2ram, s2disk og s2both. Den var tilgjengelig i Debian og Ubuntu frem til visse versjoner (Debian 10; Ubuntu 20.04 og senere versjoner har avskrevet den).

  • s2ram: suspenderer systemet til RAM (S3-modus). Det tilsvarer pm-suspend eller systemctl suspend.
  • s2disklagrer hele tilstanden på disken og slår av maskinen (klassisk dvalemodus).
  • s2both: kombinerer begge deler: skriver bildet til disk og suspenderer deretter til RAM, noe som oppnår hybrid oppførsel.
  Markedsføringsinformasjonssystemer: Det hemmelige våpenet til industridominerende selskaper

Kommandoene ville være:

sudo s2ram
sudo s2disk
sudo s2both

Disse verktøyene krever riktig konfigurasjon av initramfs, slik at gjenopptaksmekanismen kalles ved oppstart og avbildningen gjenopprettes hvis den finnes.

Slik deaktiverer du hvilemodus og dvalemodus på GNU/Linux-systemer

I noen miljøer, som klasserom, delte datamaskiner eller offentlige arbeidsstasjoner, kan hvile- og dvalemodus forårsake uventede avstengninger, nettverksproblemer eller frysing som er vanskelig å forklare for brukerne . I slike tilfeller er den mest praktiske løsningen noen ganger å deaktivere disse funksjonene helt.

Deaktiver ved bruk av systemd (målmaske)

Hvis systemet ditt bruker systemd, maskerer du ganske enkelt målene relatert til søvn og dvalemodus, slik at de ikke kan aktiveres fra verken grafiske menyer eller terminalen:

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

Dette omdirigerer disse målene til /dev/null , og sender dem symbolsk "til søppelbøtten". Etter en omstart vil ethvert forsøk på å sette datamaskinen i dvalemodus eller i hvilemodus mislykkes fullstendig.

Hvis du senere ønsker å gjenopprette normal oppførsel, trenger du bare å bruke:

sudo systemctl avmaske sleep.target suspendere.target hibernate.target hybrid-sleep.target

Deaktiver dvalemodus og deaktiver knapper med PolicyKit

Et annet, bedre alternativ er å bruke PolicyKit for å fjerne tillatelser til hvilemodus/dvalemodus til alle brukere. Du kan for eksempel opprette filer i /etc/polkit-1/localauthority/90-mandatory.d/ som:

/etc/polkit-1/localauthority/90-mandatory.d/disable-suspend.pkla


Identitet=unix-bruker:*
Action=org.freedesktop.upower.suspend
ResultActive = nei
ResultatInaktiv=nei
ResultatAny=nei


Identitet=unix-bruker:*
Action=org.freedesktop.login1.suspend
ResultActive = nei


Identitet=unix-bruker:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive = nei

Og for dvale :

/etc/polkit-1/localauthority/90-mandatory.d/disable-hibernate.pkla


Identitet=unix-bruker:*
Action=org.freedesktop.upower.hibernate
ResultActive = nei
ResultatInaktiv=nei
ResultatAny=nei


Identitet=unix-bruker:*
Action=org.freedesktop.login1.hibernate
ResultActive = nei


Identitet=unix-bruker:*
Action=org.freedesktop.login1.hibernate-multiple-sessions
ResultActive = nei

Etter omstart vil knappene for hvilemodus og dvalemodus forsvinne fra de grafiske menyene, slik at brukeren ikke aktiverer dem ved et uhell.

Blokker snarveier og direkte kommandoer

Selv om du skjuler knappene, har noen skrivebord og tastaturer spesielle hvile-/dvalemodustaster som fortsatt kan fungere. I eldre miljøer med klassisk GNOME kan dette justeres med kommandoer som:

gconftool -s /apps/gnome-power-manager/buttons/hibernate -t ​​​​string interaktiv

I tillegg kan du lage skript i /etc/pm/sleep.d/Som /etc/pm/sleep.d/000cancel-hibernate-suspendsom rett og slett Avbryt ethvert forsøk på suspendering eller dvalemodus gir tilbake kontrollen til systemet. Et typisk skjelett ville være:

# / Bin / sh
# forhindrer dvalemodus og suspendering
«$PM_FUNCTIONS»
tilfelle «${1}» i
(sett i dvalemodus)
hemme
;;
CV|tining)
avkjørsel 0
;;
at C

Ikke glem å gi den utførelsestillatelser:

chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend

Når er det passende å gå i dvale og når er det ikke?

Med all denne teorien lagt frem, gjenstår den praktiske delen: når er det virkelig verdt å gå i dvalemodus i GNU/Linux? Det finnes ikke noe enkelt svar, men det finnes noen fornuftige retningslinjer.

Hvis din topprioritet er å spare energi (for eksempel på en bærbar PC som du lar være ubrukt i mange timer) og du har god diskplass til minneavbildningen, er dvalemodus et veldig attraktivt alternativ. Du kan lese hvordan du velger mellom å slå av, sette PC-en i hvilemodus eller i dvalemodus . Energiforbruket i dvalemodus er null, og når du gjenopptar driften, starter den opp mye raskere enn fra en kaldstart.

Hvis du vil ha ren fart når du går tilbake til skrivebordet, og du bare skal la datamaskinen være inaktiv i en kort periode , kan det være mer praktisk å sette den i hvilemodus til RAM. Maskinen vil fortsatt bruke noe batteristrøm, men gjenopptak vil skje nesten umiddelbart.

På datamaskiner med mye RAM, eller på systemer der stabilitet ved gjenopptak ikke er garantert (viss uvanlig maskinvare, eksotiske drivere osv.), er det ofte verdt å droppe dvalemodus og velge en god hvilemodus og en ren omstart med dokumentgjenoppretting når det er nødvendig.

Til syvende og sist, det å forstå hvordan de er avhengige av swap, hva kjernen gjør under panseret, og hvordan du kontrollerer dem med verktøy som systemd, pm-utils, uswsusp eller PolicyKit, lar deg behandle dvalemodus og suspendering som verktøy til din fordel , og ikke som mystiske funksjoner som noen ganger fungerer og noen ganger lar den bærbare datamaskinen "fastlåst" uten noen åpenbar forklaring.

slå av PC-ens levetid i hvilemodus eller dvalemodus
Relatert artikkel:
Slå av, sette PC-en i dvalemodus eller på pause: hva er best for å forlenge levetiden?