Viloläge i GNU Linux: En komplett och praktisk guide

Senaste uppdateringen: 14 januari 2026
Författare: TecnoDigital
  • Viloläge i GNU/Linux sparar hela RAM-minnet för att byta och stänger av datorn, medan vänteläge behåller minnet i RAM-minnet med låg strömförbrukning.
  • För att viloläge ska fungera tillförlitligt krävs kärnstöd och tillräckligt med växlingsutrymme, antingen en växlingspartition eller en välkonfigurerad växlingsfil.
  • Olika verktyg (systemd, pm-utils, uswsusp och PolicyKit) låter dig aktivera, kontrollera eller inaktivera viloläge och paus beroende på distribution och användningsscenario.
  • Att välja mellan pausläge, viloläge eller omstart med sessionsåterställning beror på vilken balans du söker mellan energibesparingar, snabb återgång till arbete och systemstabilitet.

Viloläge i GNU/Linux

La viloläge i GNU/Linux Det är fortfarande en av de funktioner som alla har hört talas om, men som inte alltid är väl förstådd eller korrekt konfigurerad. Många användare kommer hit efter att ha upplevt problem med Windows eller bärbara datorer som stängs av oväntat och vill veta exakt vad varje energiläge gör och hur man styr det i sin Linux-distribution.

I de senaste kärnversionerna och större distributionerna har saker och ting förbättrats avsevärt, men de finns fortfarande kvar. Viktiga nyanser mellan att försätta i viloläge, pausa och stänga av dokument vid återöppningFörutom tekniska detaljer som användningen av växlingsutrymme (i partitioner eller filer), vilka är viktiga att förstå, kommer vi att förklara allt detta lugnt, men på ett tydligt och praktiskt sätt.

Viloläge, paus och omstart med sessionsåterställning: hur de skiljer sig åt

Innan du rör vid något i inställningarna är det viktigt att förstå vad varje energisparläge faktiskt görFör begrepp blandas ofta ihop, och sedan kommer skrämseln med förlorad data eller tomma batterier.

När vi talar om viloläge i operativsystem syftar vi på en process genom vilken hela systemets tillstånd frysesÖppna program, dokument, tjänster, skrivbordsinställningar, buffertar etc. Allt innehåll från RAM-minnet sparas på ett permanent lagringsmedium (vanligtvis diskväxling) och maskinen stängs av helt.

Detta betyder att Viloläge är inte samma sak som att bara lämna filer öppna. Det är inte samma sak som att stänga av datorn, och det är inte heller samma sak som att försätta den i viloläge. Det är långsammare än att försätta den i viloläge på grund av RAM, men det sparar mycket mer energi eftersom datorn är helt avstängd, utan någon strömförbrukning.

Å andra sidan erbjuder vissa system något liknande en "omstart med återöppning av dokument", där systemet stängs av normalt, men vid omstart Program som var öppna startas om automatiskt.I GNU/Linux härmar många distributioner detta skrivbordsmiljöbeteende, men detta är inte viloläge: det är fortfarande en kallstart med alla tjänster startade från grunden.

Fördelen med viloläge jämfört med omstart med appåterställning är att Kärnan och användarutrymmet startar inte om från grunden.Istället återställs en komplett bild av det tidigare tillståndet. Därför, när allt fungerar korrekt, kan du återuppta ditt arbete exakt där du slutade, utan att öppna dokument igen eller konfigurera om fönster.

Strömlägen i GNU Linux

Vad är suspension i Linux och varför är det värt att använda?

I viloläge genererar operativsystemet en levande bild av det nuvarande läget (dina program, dina dokument, skrivbordet) men istället för att skriva det till disken lämnar det det i RAM-minnet, vilket är flyktigt.

När kärnan pausar stänger den av praktiskt taget alla hårdvaruenheter: disk, skärm, större delen av chipsetet... Den enda komponenten som förblir strömförsörjd är RAM och lägsta moderkortsspecifikationer så att den kan "vakna" när du trycker på en tangent, rör musen eller öppnar laptopens lock.

Det här läget är utmärkt när du vill en nästan omedelbar återgång till skrivbordet Och du behöver inte oroa dig så mycket för energiförbrukningen medan datorn är inaktiv. En modern bärbar dator kan förbli i viloläge i en till tre dagar på batteri, men under den tiden förbrukar den fortfarande en del energi för att hålla RAM-minnet igång.

Standardfjädring rekommenderas särskilt om du har mer än 2 GB RAM och lite diskutrymme (till exempel på små SSD-diskar) eller om du ska använda datorn igen mycket snart. Detta är vanligt när du stänger locket i några minuter mellan lektioner eller stannar för lunch.

Hybridfjädring: en blandning av RAM och hårddisk

Det finns ett tredje, mindre känt sätt: hybridfjädringI det här fallet går systemet igenom hela vilolägesprocessen (det dumpar minnesinnehållet till disken, vanligtvis för att växla) men istället för att stängas av helt går det in i ett viloläge i RAM-minnet.

  Contpaq: Egenskaper och fördelar

Detta skapar ett blandat scenario: om batteriet håller måttet, Du höjer systemet lika snabbt som med en vanlig fjädring.Om strömmen däremot går, kommer den sparade avbildningen på disken att göra det möjligt att återställa sessionen som om den hade varit i viloläge.

Baksidan av detta är att Det tar längre tid att komma in och ut. Det är mer än bara en paus eftersom det skriver till disk och även håller RAM-minnet strömförsörjt. Det är därför det ofta används på servrar eller arbetsstationer som behöver en extra säkerhetsnivå mot tillståndsförlust.

Hur viloläge fungerar internt i GNU/Linux

När du försätter ett GNU/Linux-system i viloläge utför kärnan en serie ganska väldefinierade steg för att fånga och återställa maskinens fullständiga tillståndDet handlar inte bara om att "spara RAM-minnet till en fil" och det är allt.

Den typiska processen för upphängning till skiva (upphängning-till-disk) Denna allmänna sekvens följer:

  • Användarprocesser stoppas för att frysa dess tillstånd och förhindra att den fortsätter att modifiera minnet medan inspelningen görs.
  • Maskinvaruenheter fryses eller stoppas för att förhindra minnesändringar associerade med styrenheter och DMA.
  • Bilden av vinterdvala skapas: Hela innehållet i RAM-minnet kopieras med avbrott inaktiverade.
  • Hårdvaruenheterna återaktiveras på ett kontrollerat sätt.
  • Bilden är skriven i växlingsutrymme, vilket då betraktas som ett suspensionsområde (swsusp eller linux-suspend).
  • Slutligen är alla enheter i pausläge och datorn är helt avstängd.

Vid omstart startar startsystemet Kontrollera om det finns en giltig vilolägesbild:

  • Ja, det finns, Den startar inte normalt.men läser bilden från växlingen.
  • Enheterna fryses igen för att förhindra störningar.
  • Bilden kopieras från växeln till RAM-minnet och återaktivera processer och enheter som de var innan de sov i ide.

En märklig detalj som observerades i verkliga tester: efter viloläge visas den gamla "linux-swap-partitionen" märkt som linux-suspend eller swsusp i verktyg som GParted eller parted. Denna typändring är en av ledtrådarna som systemet använder för att veta om det ska återställas från viloläge eller börja om från början.

Vikten av att byta krets under vinterdvalan

Hela denna mekanism involverar ett viktigt krav: att försätta Linux i viloläge Du behöver ett lämpligt växlingsutrymmebåde i storlek och konfiguration. Utan växling kommer systemet inte ha någonstans att lagra RAM-avbildningen.

Bytet kan vara:

  • en dedikerad partition med systemtypen linux-swap.
  • Un växlingsfil finns i ett vanligt filsystem (till exempel i /swapfile).

I praktiken behandlar kärnan båda som växlingsutrymme transparent. Men för att använda en swapfile som vilolägesmål Du måste ange parametrar som till exempel för kärnan via boothanteraren. resume= (enhet) och resume_offset= (förskjutning inom filen). Om detta inte görs startar systemet från grunden och återställer inte avbildningen, även om den skrivs till disk.

När det gäller storlek är den klassiska rekommendationen för tillförlitlig viloläge att växeln ska ha åtminstone storleken på det fysiska RAM-minnetDet är sant att om systemet är kraftigt underutnyttjat kan man ibland försätta systemet i viloläge med ett något mindre växlingsutrymme, men det är inte säkert och bör inte generaliseras. På system med 32 GB eller 64 GB RAM eller mer avråder många administratörer helt från viloläge på grund av tids- och lagringsbegränsningar.

Det är också värt att komma ihåg att det finns mekanismer som t.ex. zram eller zswapvilket skapar ett komprimerat växlingsområde i själva RAM-minnet. De är fantastiska för att förbättra prestanda på system med begränsat minne, men de är inte lämpliga som viloläge: de är volatila, Bilden skulle försvinna när strömmen bröts..

Viloläge på växlingspartition kontra swapfile

I åratal ansågs det nästan obligatoriskt att ha en dedikerad swap-partition Om du ville gå i viloläge utan komplikationer var kärnans beteende och verktyg som initramfs mycket baserat på den klassiska modellen.

Men många moderna distributioner, som Ubuntu i senare versioner, har gått över till att använda det som standard. en swapfil istället för en partitionDetta betyder inte att möjligheten att övervintra går förlorad, det ändrar helt enkelt var tillståndet sparas.

  Linux-distributioner: En komplett guide

I båda fallen är den underliggande processen densamma: Bilden från RAM-minnet går till ett permanent växlingsutrymmeSkillnaden är att med en swapfile behöver systemet veta exakt vilket block på disken filen börjar (därav parametern). resume_offset) för att kunna läsa bilden tidigt under uppstart.

Praktiska experiment på Debian och derivatmaskiner har visat att, om Växlingspartitionen är formaterad eller raderad Där vilolägesavbildningen lagrades kommer nästa start att vara ren, som om viloläge aldrig hade inträffat. Detta bekräftar att avbildningen verkligen är sparad i växlingsutrymmet och inte någon annanstans på disken.

Kärnkrav och stöd i distributioner

Utöver utbytesutrymmet är det nödvändigt att Linuxkärnan har stöd för viloläge aktiveratOm du kompilerar din egen kärna och inaktiverar det här alternativet, oavsett hur mycket du justerar distributionens konfiguration, kommer du inte att kunna försätta den i viloläge.

I praktiken använder de flesta distributioner kärnan som paketeras av själva projektet, och i dessa fall Viloläge är vanligtvis aktiverat som standard. tillsammans med resten av de vanliga strömhanteringsfunktionerna och drivrutinerna.

Det är dock inte alla distributioner som alltid visar knappen "Viloläge" i sina grafiska menyer. Vissa, som Ubuntu i vissa versioner, De döljer alternativet på skrivbordet som standard. även om kärnan och vilolägesinfrastrukturen är fullt fungerande.

Hur man aktiverar viloläge i Ubuntu med PolicyKit

På Ubuntu-system där vilolägesalternativet inte visas i avstängningsmenyn kan du att rehabilitera på ett relativt enkelt sätt Genom att modifiera vissa PolicyKit-regler är tanken att ge vanliga användare behörighet att anropa vilolägesåtgärderna upower och logind.

Den typiska proceduren innebär att skapa en konfigurationsfil, till exempel com.ubuntu.enable-hibernate.pklamed innehåll liknande detta (anpassat till syntaxen som används av dina verktyg):


Identitet=unix-användare:*
Action=org.freedesktop.upower.hibernate
ResultatAktivt=ja


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

När filen har skapats måste den placeras i /etc/polkit-1/lokalmyndighet/50-lokal.d/För att göra detta kan du öppna din filhanterare som administratör (till exempel med gksudo nautilus i miljöer som fortfarande stöder det) och klistra in det i den katalogen.

Efter att systemet har startats om, Ubuntu-skrivbordet kommer att visa vilolägesalternativet Tillsammans med funktionerna för avstängning, omstart eller paus. Självklart krävs fortfarande ett tillräckligt stort växlingsutrymme och en kärna med stöd för viloläge.

GNU Linux-vilolägeskonfiguration

Viloläge- och pauskommandon från terminalen

Om du föredrar terminalen eller använder lättviktiga miljöer (Fluxbox, IceWM, Openbox, JWM, etc.) där det inte finns några förkonfigurerade strömknappar, kan du styra viloläge och paus direkt med kommandon.

Använda pm-utils

I många klassiska Debian/Ubuntu-distributioner är paketet pm-utils Den tillhandahåller flera enkla kommandon:

  • pm-avstängningDetta pausar maskinen från RAM-minnet. De flesta enheter stängs av och tillståndet bibehålls i minnet. Strömförbrukningen minskas avsevärt, men energi används fortfarande.
  • pm-viloläge: försätter systemet i viloläge genom att spara RAM-minne på disk (swap) och stänga av datorn helt.
  • pm-suspend-hybridDen utför viloläge på disken och, istället för att stänga av, försätter RAM-minnet i viloläge, vilket uppnår ett "hybridviloläge".

Den grundläggande användningen skulle vara:

sudo pm-suspend
sudo pm-viloläge
sudo pm-suspend-hybrid

På Arch Linux-härledda system och andra som underhåller det i sina repositories kan du också använda dessa kommandon, även om pm-utils har övergivits till förmån för systemd i många moderna distributioner.

Använda systemd (systemctl)

I distributioner med systemd (OpenSUSE, många versioner av Arch och derivator, moderna Debian, etc.) är det rekommenderade sättet att använda systemctl:

  • systemctl suspend: pausar RAM-minnet.
  • systemctl viloläge: övergår till disk.
  • systemctl hybrid-sömn: aktiverar hybridfjädring.

Till exempel, i OpenSUSE eller något typiskt systemd-system, kan du direkt anropa:

sudo systemctl viloläge

I många distributioner, om du föredrar att bibehålla kompatibilitet med äldre verktyg, pm-viloläge Den förblir tillgänglig och delegerar eller samexisterar helt enkelt med systemd beroende på konfigurationen.

Använder uswsusp: s2ram, s2disk och s2both

En annan verktygsfamilj, mindre vanlig nuförtiden, är uswsuspvilket tillhandahåller kommandona s2ram, s2disk och s2both. Det var tillgängligt i Debian och Ubuntu upp till vissa versioner (Debian 10; Ubuntu 20.04 och senare har föråldrat det).

  • s2ram: pausar systemet till RAM (S3-läge). Det motsvarar pm-suspend eller systemctl suspend.
  • s2disksparar hela tillståndet till disken och stänger av maskinen (klassiskt viloläge).
  • s2bothkombinerar båda sakerna: skriver avbildningen till disk och pausar sedan till RAM-minnet, vilket uppnår hybridbeteende.
  Så här partitionerar du en 1TB-disk i Windows steg för steg

Kommandona skulle vara:

sudo s2ram
sudo s2disk
sudo s2both

Dessa verktyg kräver korrekt initramfs-konfiguration så att vid uppstart, återupptagningsmekanismen kallas (återuppta) och återställ bilden om den finns.

Hur man inaktiverar viloläge och viloläge på GNU/Linux-system

I vissa miljöer, såsom klassrum, delade datorer eller offentliga arbetsstationer, kan vänteläge och viloläge orsaka oväntade avstängningar, nätverksproblem eller blockeringar som är svåra att förklara för användarnaI sådana fall är det ibland mest praktiska att inaktivera dessa funktioner helt.

Inaktivera med systemd (målmask)

Om ditt system använder systemd, bara maskera målen relaterade till sömn och dvala så att de inte kan aktiveras från vare sig grafiska menyer eller terminalen:

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

Detta omdirigerar dessa mål till / Dev / nullMed andra ord skickar det dem symboliskt "till papperskorgen". Efter en omstart kommer alla försök att pausa eller försätta datorn i viloläge att misslyckas fullständigt.

Om du senare vill återställa normalt beteende behöver du bara använda:

sudo systemctl avmaska ​​sleep.target suspend.target hibernate.target hybrid-sleep.target

Inaktivera viloläge och pausa knappar med PolicyKit

Ett annat, finare alternativ är att använda PolicyKit för att ta bort behörigheter för viloläge/vänteläge till alla användare. Du kan till exempel skapa filer i /etc/polkit-1/localauthority/90-mandatory.d/ som:

/etc/polkit-1/lokalmyndighet/90-mandatory.d/inaktivera-avstängning.pkla


Identitet=unix-användare:*
Action=org.freedesktop.upower.suspend
ResultActive = nej
ResultatInaktiv=nej
ResultatValfritt=nej


Identitet=unix-användare:*
Action=org.freedesktop.login1.suspend
ResultActive = nej


Identitet=unix-användare:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive = nej

Och för hibernación:

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


Identitet=unix-användare:*
Action=org.freedesktop.upower.hibernate
ResultActive = nej
ResultatInaktiv=nej
ResultatValfritt=nej


Identitet=unix-användare:*
Action=org.freedesktop.login1.hibernate
ResultActive = nej


Identitet=unix-användare:*
Action=org.freedesktop.login1.hibernate-multiple-sessions
ResultActive = nej

Efter omstart försvinner knapparna för viloläge och viloläge från de grafiska menyerna. förhindrar att användaren aktiverar dem oavsiktligt.

Blockera kortkommandon och direkta kommandon

Även om du döljer knapparna, har vissa stationära datorer och tangentbord dem fortfarande. speciella sömn-/vilolägesknappar vilket kan fortsätta fungera. I äldre miljöer med klassisk GNOME kunde detta justeras med kommandon som:

gconftool -s /apps/gnome-power-manager/buttons/hibernate -t ​​​​sträng interaktiv

Dessutom kan du skapa skript i /etc/pm/sleep.d/Som /etc/pm/sleep.d/000cancel-hibernate-suspendvilket helt enkelt Avbryt alla försök till paus eller viloläge återföra kontrollen till systemet. Ett typiskt skelett skulle vara:

#! / Bin / sh
# förhindrar viloläge och pausläge
«$PM_FUNCTIONS»
fallet «${1}» i
pausa|i viloläge)
hämma
;;
återuppta|tina)
avsluta 0
;;
att C

Glöm inte att ge den exekveringsbehörighet:

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

När är det lämpligt att övervintra och när är det inte?

Med all denna teori på bordet återstår den praktiska delen: När är det verkligen värt att försätta GNU/Linux i dvala? Det finns inget entydigt svar, men det finns några rimliga riktlinjer.

Om din absoluta prioritet är spara energi (Till exempel, på en bärbar dator som du lämnar oanvänd i många timmar) och du har gott om diskutrymme för minnesavbildningen är viloläge ett mycket attraktivt alternativ; du kan läsa hur du väljer mellan Stäng av, försätt datorn i viloläge eller försätt den i vilolägeEnergiförbrukningen i viloläge är noll, och när du återgår till det normala startar du mycket snabbare än från en kallstart.

Om det du vill ha är ren hastighet när du återgår till skrivbordet och du kommer att lämna datorn i viloläge. bara en kort stundAtt pausa till RAM kan vara bekvämare. Maskinen kommer fortfarande att använda lite batteriström, men återupptagningen sker nästan omedelbart.

På system med mycket RAM, eller där stabilitet vid återupptagning inte är garanterad (viss ovanlig hårdvara, exotiska drivrutiner etc.), är det ofta värt att avstå från viloläge och välja en bra vilolägesfunktion och en ren omstart med dokumentåterställning när det behövs.

I slutändan tillåter en grundlig förståelse för hur de förlitar sig på swap, vad kärnan gör bakom kulisserna och hur man styr dem med verktyg som systemd, pm-utils, uswsusp eller PolicyKit dig att behandla viloläge och pausläge som ... verktyg till din fördeloch inte som mystiska funktioner som ibland fungerar och ibland lämnar den bärbara datorn "fast" utan någon uppenbar förklaring.

stäng av datorns livslängd för viloläge eller viloläge
Relaterad artikel:
Stänga av, pausa eller försätta datorn i viloläge: vad är bäst för att förlänga dess livslängd?