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

La dvalemodus i GNU/Linux Det 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 etter å ha opplevd 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 kan kontrollere den i Linux-distribusjonen sin.

I de nyeste kjerneversjonene og større distribusjoner har ting blitt betydelig bedre, men de eksisterer fortsatt. Viktige nyanser mellom dvalemodus, suspendering og nedstengning med gjenåpning av dokumenterI tillegg til tekniske detaljer som bruk av swap-plass (i partisjoner eller filer), som er viktige å forstå, vil vi forklare alt dette rolig, men på en tydelig 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 energisparemodus faktisk gjørFordi konsepter ofte blandes sammen, og så kommer skremslene med tapte data eller tomme batterier.

Når vi snakker om dvalemodus i operativsystemer, refererer vi til en prosess der hele systemets tilstand frysesÅpne programmer, dokumenter, tjenester, skrivebordsinnstillinger, buffere osv. Alt innholdet fra RAM lagres på et permanent lagringsmedium (vanligvis diskbytte), og maskinen slås helt av.

Dette innebærer at Dvalemodus er ikke det samme som å bare la filer være åpne. Det er ikke det samme som å 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 mye 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 dokumentet», der systemet slår seg av normalt, men ved omstart Programmer som var åpne, startes 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 omstart med appgjenoppretting er at Kjernen og brukerområdet starter ikke på nytt fra bunnen av.I stedet gjenopprettes et komplett bilde av den forrige tilstanden. Når alt fungerer som det skal, kan du derfor fortsette arbeidet akkurat 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 levende bilde av den nåværende tilstanden (programmene dine, dokumentene dine, skrivebordet), men i stedet for å skrive det til disk, blir det liggende i RAM, som er ustabilt.

Når kjernen suspenderer, slår den av så godt som alle maskinvareenheter: disk, skjerm, mesteparten av brikkesettet ... Den eneste komponenten som forblir strømførende er RAM og minimumsspesifikasjoner for hovedkortet slik at den kan "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 en nesten umiddelbar tilbakevending til skrivebordet Og du er ikke så bekymret for energiforbruket mens datamaskinen er inaktiv. En moderne bærbar PC kan holde seg i hvilemodus i én til tre dager på batteristrøm, men i løpet av den tiden bruker den fortsatt litt energi for å holde RAM-en i gang.

Standard fjæring anbefales spesielt hvis du har mer enn 2 GB RAM og lite diskplass (for eksempel på små SSD-er) eller hvis du skal bruke datamaskinen igjen veldig snart. 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 måte: hybridfjæringI dette tilfellet går systemet gjennom hele dvalemodusprosessen (det dumper innholdet i minnet til disken, vanligvis for å bytte), men i stedet for å slå seg av helt, går det inn i en suspendert tilstand i RAM.

  Contpaq: Egenskaper og fordeler

Dette skaper et blandet scenario: hvis batteriet holder stand, Du vil heve systemet like raskt som med en vanlig fjæring.Men hvis strømmen går ut, vil bildet som er lagret på disken, tillate at økten gjenopprettes som om den hadde vært i dvalemodus.

Baksiden av dette er at Det tar lengre tid å komme inn og ut. Det er mer enn en ren suspendering fordi det skriver til disk og også holder RAM-en drevet. Det er derfor det ofte brukes på servere eller arbeidsstasjoner som trenger 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 ganske veldefinerte trinn for å fange opp og gjenopprette maskinens fullstendige tilstandDet handler ikke bare om å "lagre RAM-en til en fil", og det er det.

Den typiske prosessen med oppheng til skive (oppheng-til-skive) Denne generelle sekvensen følger:

  • 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, starter startsystemet Sjekk 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 tester i den virkelige verden: etter dvalemodus vises den gamle "linux-swap-partisjonen" merket som linux-suspend eller swsusp i verktøy som GParted eller parted. Denne typeendringen er en av ledetrådene systemet bruker for å vite om det skal gjenopprettes fra dvalemodus eller starte på nytt.

Viktigheten av å bytte under dvalemodus

Hele denne mekanismen involverer ett nøkkelkrav: å gå i dvalemodus i Linux Du trenger et passende bytteområdebå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 veksleren bør ha minst størrelsen på det fysiske RAM-minnetDet er sant at hvis systemet er sterkt underutnyttet, kan du noen ganger gå i dvalemodus med litt mindre lagringsplass, men det 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 lagringsbegrensninger.

Det er også verdt å huske at det finnes mekanismer som zram eller zswapsom oppretter et komprimert bytteområde i selve RAM-en. De er fantastiske for å forbedre ytelsen på systemer med begrenset minne, men de er ikke egnet som dvalemodus: siden de er ustabile, Bildet ville forsvinne når strømmen ble kuttet..

Dvalemodus på swap-partisjon vs. swapfile

I årevis ble det ansett som nærmest obligatorisk å ha en dedikert swap-partisjon Hvis du ønsket å gå i dvalemodus uten komplikasjoner, var oppførselen til kjernen og verktøy som initramfs i stor grad basert på den klassiske modellen.

Imidlertid har mange moderne distribusjoner, som Ubuntu i nyere versjoner, gått over til å bruke den som standard. en swapfil i stedet for en partisjonDette betyr ikke at evnen til å gå i dvale går tapt, det endrer bare hvor tilstanden lagres.

  Linux-distribusjoner: En komplett veiledning

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 derivater har vist at hvis Swap-partisjonen er formatert eller slettet Der dvalemodusavbildningen ble lagret, vil neste oppstart være ren, som om dvalemodus aldri hadde forekommet. Dette bekrefter at avbildningen faktisk er lagret på vekslingsplassen og ikke et annet sted på disken.

Kjernekrav og støtte i distribusjoner

I tillegg til utvekslingsområdet er det nødvendig at Linux-kjernen har støtte for dvalemodus aktivertHvis du kompilerer din egen kjerne og deaktiverer dette alternativet, vil du ikke kunne gå i dvalemodus uansett hvor mye du justerer distroens konfigurasjon.

I praksis bruker de fleste distribusjoner kjernen som er pakket av selve prosjektet, og i slike tilfeller Dvalemodus er 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. Noen, som Ubuntu i visse versjoner, De 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 du å rehabilitere på en relativt enkel måte Ved å endre noen PolicyKit-regler er ideen å autorisere vanlige brukere 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 vil vise dvalemodusalternativet Sammen med funksjonene for avstenging, omstart eller pause, kreves det åpenbart fortsatt et tilstrekkelig stort vekslingsrom og en kjerne med støtte for dvalemodus.

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 suspensjon direkte med kommandoer.

Bruk av pm-utils

I mange klassiske Debian/Ubuntu-distribusjoner er pakken pm-utils Den tilbyr 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-avledede 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, pm-dvalemodus Den forblir tilgjengelig og delegerer eller sameksisterer med systemd avhengig av konfigurasjonen.

Bruker uswsusp: s2ram, s2disk og s2both

En annen verktøyfamilie, mindre vanlig i dag, er uswsuspsom gir kommandoene s2ram, s2disk og s2both. Den var tilgjengelig i Debian og Ubuntu opp til visse versjoner (Debian 10; Ubuntu 20.04 og senere 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.
  Slik partisjonerer du en 1 TB disk i Windows trinn for trinn

Kommandoene ville være:

sudo s2ram
sudo s2disk
sudo s2both

Disse verktøyene krever riktig initramfs-konfigurasjon, slik at de ved oppstart Gjenopptakelsesmekanismen kalles (gjenoppta) og gjenopprette bildet hvis det finnes.

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

I noen miljøer, som klasserom, delte datamaskiner eller offentlige arbeidsstasjoner, kan hvilemodus og dvalemodus forårsake uventede nedstengninger, nettverksproblemer eller blokkeringer som er vanskelige å forklare for brukerneI slike tilfeller er det noen ganger mest praktiske å deaktivere disse funksjonene helt.

Deaktiver ved bruk av systemd (målmaske)

Hvis systemet ditt bruker systemd, bare masker 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 / nullMed andre ord sender det dem symbolsk «til søpla». 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 hibernación:

/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. hindrer brukeren i å aktivere dem utilsiktet.

Blokker snarveier og direkte kommandoer

Selv om du skjuler knappene, har noen stasjonære datamaskiner og tastaturer dem fortsatt. spesielle søvn-/dvalemodustaster som kan fortsette å 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 på bordet, 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 toppprioritet 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, sett PC-en i dvalemodus eller på pauseEnergiforbruket i dvalemodus er null, og når du går tilbake til normalen, starter du opp mye raskere enn fra en kaldstart.

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

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

Til syvende og sist lar en grundig forståelse av 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 deg behandle dvalemodus og suspensjon som ... verktøy i din favørog ikke som mystiske funksjoner som noen ganger fungerer og noen ganger lar den bærbare datamaskinen "stå fast" 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?