Vad är en Linux SWAP-partition, och vad gör den?

De flesta Linux-installationer rekommenderar att du inkluderar en SWAP-partition. Det kan tyckas märkligt för Windows-användare - vad är den här partitionen för?

De flesta Linux-installationer rekommenderar att du inkluderar en SWAP-partition.  Det kan tyckas märkligt för Windows-användare - vad är den här partitionen för?
Annons

De flesta Linux-installationer rekommenderar att du inkluderar en SWAP-partition. Det kan tyckas konstigt att Windows-användare, som brukar ha hela operativsystemet på en enda partition.

Så vad gör en SWAP-partition, behöver du ens en, och hur stor ska det vara? Det här är alla viktiga frågor som, med rätt svar, kan förbättra ditt system seriöst.

Överflöde från minnet

linux_swap_ram
I den enklaste meningen fungerar SWAP-partitionen som ett överflöde till ditt (RAM) minne. Om ditt minne är fullt fyllt, kommer några ytterligare applikationer att köras av SWAP-partitionen i stället för minnet.

Det här låter som ett enkelt sätt att öka mängden användbart minne utan att egentligen få mer RAM, men det är inte så. RAM är den perfekta hårdvaran för minne eftersom det är extremt snabbt, till skillnad från hårddiskar som relativt sett är extremt långsamma. Ankomsten av solid state-enheter har gjort prestandafältet mindre av ett problem med deras mycket förbättrade hastigheter. Hur fungerar Solid State Drives? Hur fungerar Solid State Drives? I den här artikeln lär du dig exakt vilka SSD: er, hur SSD-enheter faktiskt fungerar och fungerar, varför SSD-filer är så användbara, och den enda stora nackdelen med SSD-er. Läs mer, men även om de inte kan matcha RAM-plus, skulle du inte vilja orsaka ytterligare slitage på din solid state-enhet.

Den närmaste analogi SWAP-partitionen är Windows-sidfältet, även om det finns många tekniska skillnader mellan de två.

Prioritering

En SWAP-partition kan också hjälpa till att flytta några objekt från minnet till hårddisken för att lämna mer utrymme i minnet för mer viktiga saker. Detta innebär att objekt som sällan någonsin berörs skulle bli flyttat till SWAP-partitionen.

Gränsen för vad som anses vara "sällsynt" beror på "swappiness" (ja det är själva termen som används), som kan konfigureras. En högre swappiness innebär att objekt är mer benägna att flyttas till SWAP-partitionen; en lägre swappiness betyder att objekt är mindre benägna att flyttas till SWAP-partitionen.

Aktiverar viloläge

Slutligen används en SWAP-partition som destinationen för ditt minnes innehåll när du berättar för ditt hibernerade system. Det betyder att det inte är möjligt att använda en SWAP-partition utan att dvala på Linux.

Självklart är det faktiskt ganska sällsynt för användarna att använda vilolägefunktionen, så det här kanske inte spelar någon roll för dig.

Behöver du en SWAP-partition?

Linux-swap-gparted
Så betyder det att en SWAP-partition är nödvändig? Absolut inte! Ett Linux-system kan fungera perfekt bra utan en SWAP-partition. Det finns emellertid några fördelar och nackdelar med att ha en.

fördelar:

  • Ger överflödesutrymme när ditt minne fylls helt upp
  • Kan flytta sällan behövs från din höghastighetsminne
  • Ger dig möjlighet att dvale

nackdelar:

  • Tar upp utrymme på hårddisken, eftersom SWAP-partitionerna inte ändras på ett dynamiskt sätt
  • Kan öka slitage på hårddisken
  • Förbättrar inte nödvändigtvis prestanda (se nedan)

När SWAP-partitioner inte hjälper

Vad? SWAP-partitioner hjälper inte alltid till att förbättra prestanda? Låt mig förklara ett scenario där att ha en SWAP-partition var faktiskt värre än att inte ha en.

Jag hade Linux installerat på en netbook som bara hade 1 GB minne och en 5400 rpm hårddisk. Med bara 1 GB minne kan du tänka dig att det kan fylla ganska snabbt med några öppna webbläsare. SWAP-partitionen gjorde det möjligt för mig att hålla dem alla öppna eftersom minnesflödet helt enkelt gick till det.

Men då uppstod en flaskhals på grund av hårddiskens 5400 rpm-hastighet. Eftersom hårddisken var så långsam och systemet hela tiden ville komma åt SWAP-partitionen blev netbook extremt extremt trög till den punkt där den blev nästan oanvändbar om jag inte stängde allt för att frigöra lite minne.

Den inställda swappiness garanterade inte att även om det nu fanns utrymme i minnet skulle allt i SWAP-partitionen flyttas tillbaka. Istället skulle mycket av det stanna kvar i SWAP-partitionen, vilket skulle göra att netbooken fortsatte att vara trög. Detta fixades bara av en omstart, vilket tog ett tag ändå eftersom systemet var tvungen att ta bort allt från SWAP-partitionen innan den stängdes av.

rekommendationer

Så, här är vad jag skulle rekommendera:

  • Om du vill kunna dvala din dator ska du ha en SWAP-partition. Storleken på den här partitionen ska vara storleken på ditt installerade minne plus ytterligare 10-25% för att lämna utrymme för alla objekt som redan flyttats över till SWAP-partitionen.
  • Om du bara vill ha en liten prestationsökning (och du har minst en hårddisk på 7200 rpm), kan du lägga till en SWAP-partition om du vill, men det behövs inte om du inte har mindre än 4 GB installerat minne. Storleken på detta kan vara vad du vill, men jag skulle inte göra det något större än vad du skulle om du skapade en SWAP-partition för att aktivera viloläge.
  • Om du har en hårddisk på 5400 rpm bör du inte skapa en SWAP-partition helt enkelt eftersom flaskhalsen gör datorn sämre. Men om du absolut vill ha SWAP, kan du fortfarande skapa en partition med samma dimensioneringsriktlinjer som beskrivs ovan - men ändra swappiness-värdet till något mycket lägre.

Ändra swappiness

linux_swap_swappiness
För att ändra swappiness måste du köra kommandot gksu gedit /etc/sysctl.conf som kommer att starta en textredigerare som heter Gedit, en fantastisk allround textredigerare gedit: En av de mest funktionella fyllda textredigerarna [Linux & Windows] gedit: En av de mest funktionella fyllda textredigerarna [Linux & Windows] När du tänker på vanliga textredigerare är det första som kan dyka upp i ditt huvud, Windows Notepad-applikation. Det gör exakt vad jobbet beskrivs - vanliga funktioner för en vanlig text ... Läs mer, för konfigurationsfilen måste vi ändra. Därefter letar du efter "vm.swappiness" och ändrar det till ett annat värde (helst 10). Om du inte ser denna parameter lägger du till den här raden i slutet av filen: vm.swappiness = 10

Värdet du anger anger när du vill att Linux ska börja aktivt flytta processer från minnet till SWAP-partitionen. Så exempelvis anger ett värde av 10 att processer kommer att flyttas när minnesanvändningen når 90%; default swappiness-värdet i Ubuntu på 60 indikerar att processerna kommer att flyttas när minnesförbrukningen når 40%.

Det finns många andra detaljer som går in i detta, men de skulle bara göra sakerna mer förvirrande.

Slutsats

SWAP-partitioner kan göra en stor skillnad i systemets prestanda - ibland för bättre och ibland värre. Nu när du är välutbildad borde du kunna fatta rätt beslut.

Letar du efter andra sätt att påskynda ditt Linux-system? Kolla in dessa fyra andra snabba och enkla tips 4 sätt att öka din Linux-dator 4 sätt att öka din Linux-dator Är din Linux-installation inte så snabb som du vill? Så här snabbar du på. Läs mer .

Vad har du hört talas om SWAP-partitioner? Tror du att de är värda att använda? Låt oss veta i kommentarerna!

Bildkrediter: Daniel Rocal

In this article