Denna handledning fokuserar på hur man skapar växlingsutrymme på Ubuntu 20.04 med hjälp av en växlingspartition eller en växlingsfil.
För systemadministratörer är det ganska vanligt att servrar får slut på RAM-minne.
I vissa fall kan du ha startat för många program eller några av programmen använder redan för mycket resurser.
I det här fallet har du inte många alternativ.
Du kan antingen stoppa vissa processer för att få lite RAM-minne, men du kanske inte kan göra det.
Turligtvis har du en annan lösning : att lägga till lite växlingsutrymme.
I den här handledningen kommer du att lära dig hur du kan lägga till växlingsutrymme på Ubuntu 20.04 : via en swap-partition eller en swap-fil.
Innehållsförteckning
- Förutsättningar
- Kontrollera befintliga swap-partitioner
- Lägg till växlingsutrymme på Ubuntu 20.04 med hjälp av en växlingspartition
- a – Skapa Swap-partition på en LVM-enhet
- b – Skapa en swap-partition på en vanlig partition
- c – Aktivering av din swap-partition
- d – Gör ditt swap-utrymme permanent
- Lägg till swaputrymme på Ubuntu 20.04 med hjälp av en swap-fil
- a – Skapa en swapfil med hjälp av dd
- b – Säkra din swapfil med behörigheter
- c – Aktivera din swapfil
- d – Gör din swap-fil permanent
- Felsökning
Förutsättningar
För att börja, se till att du har sudo privilegier på Ubuntu 20.04.
$ groups
Om du ser grupperna ”sudo” i grupplistan bör du kunna skapa en swap-partition.
Kontrollera befintliga swap-partitioner
För att kontrollera befintliga swap-partitioner på ditt system måste du använda kommandot ”swapon”.
$ sudo swapon --show
Som standard, under din Ubuntu-installation, är det mycket vanligt att en swap-partition redan är skapad.
Som en följd av detta bör du se följande utdata på din konsol.
Som du kan se äger jag en swap-partition som heter ”dm-1” och är 980 Mb stor.
Men mitt nuvarande RAM-minne räcker till för min server, så den används inte alls.
Om inga växlingsutrymmen är konfigurerade på din server bör du se följande utdata.
Lägg till växlingsutrymme på Ubuntu 20.04 med hjälp av en växlingspartition
Det första sättet att lägga till växlingsutrymme på Ubuntu är att lägga till en växlingspartition.
För att lägga till denna partition kommer vi att använda :
- kommandot ”lvcreate” om du befinner dig på en LVM-enhet (det vill säga en diskpartition som är formaterad som LVM)
- kommandot ”fdisk” om du befinner dig på en ”vanlig” disk.
a – Skapa Swap-partition på en LVM-enhet
För det första måste du inspektera de befintliga partitionerna på din värd.
$ sudo fdisk -l
Som du kan se här äger jag redan tre partitioner :
- /dev/sda1 : min startbara partition eftersom jag har att göra med en MBR-disk här;
- /dev/sda2 : en utökad partition på 14,5 GB;
- /dev/sda5 : min primära LVM-partition.
Med tanke på detta kan du antingen skapa en swap-partition på den utökade partitionen eller på din primära LVM-partition.
I det här fallet väljer vi att skapa denna partition på LVM-partitionen.
Som en följd av detta måste vi kontrollera att vi har lite utrymme för den.
Som en påminnelse är /dev/sda5 en diskpartition, även kallad en fysisk volym, som är kopplad till en volymgrupp.
För att kontrollera om vi har lite återstående utrymme måste vi använda kommandot ”vgs”.
Om du inte är bekant med LVM rekommenderar jag att du först läser vår dedikerade artikel i ämnet.
$ sudo vgs
I det här fallet har vi ungefär 980 Mb återstående utrymme vilket borde räcka till vår swap-partition.
För att skapa en ny logisk volym på den här volymgruppen ska vi använda kommandot ”lvcreate”.
$ sudo lvcreate -L 500M -n lvswap vgubuntu
Notera : du kan bli ombedd att ta bort en swap-signatur på en viss logisk volym. Du kan trycka på ”y”, du blir tillfrågad om den här informationen eftersom det fanns en befintlig partition med samma namn tidigare.
Du kan verifiera att din logiska volym skapades på rätt sätt med hjälp av kommandot ”lvs”.
$ sudo lvs
b – Skapa en swap-partition på en vanlig partition
Du kan hoppa över det här avsnittet och gå vidare till nästa avsnitt om du redan skapat din partition på en LVM-enhet.
Om du har att göra med en ”vanlig” Linuxpartition måste du använda kommandot fdisk.
I vårt fall heter vår ”vanliga” (Linux-typ) partition ”/dev/sda2”.
$ sudo fdisk /dev/sdaWelcome to fdisk (util-linux 2.34).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): n
För att skapa en ny partition måste du använda alternativet ”n”.
Command (m for help): nPartition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions)Select (default p) :
Du kan välja att skapa en ”primär” partition. Om du har fler än fyra primära partitioner kan du skapa en logisk partition.
Select (default p) : pPartition number (2-4, default 2):
Du kan lämna standardvärdena i detta fall.
På nästa prompt ombeds du att ange den första sektorn, du kan också lämna den till standardvärdena.
All space for primary partitions is in useAdding logical partition 5First sector (48291898-65062911, default 48291840):
Slutligt ombeds du att ange den totala storleken på den partition som ska skapas. I vårt fall ska vi välja ett swaputrymme på 1 GB (eller ”+1G”).
Last sector, +/-sectors or +/-size{K,M,G,T,P} : +1GCreated a new partition 5 of type 'Linux' and of size 1 GiB.
Som standard kommer din partition att skapas med en ”Linux”-typ som standard.
Du vill ändra det till en swap-partitionstyp.
För att uppnå detta skriver du ”t” för ”type” och ändrar det till ”82” (för swap)
Command (m for help): tPartition number (1,2,5, default 5): 1Hex code (type L to list all codes): 82
Tryck Enter och kontrollera att din partitionstyp ändrades korrekt.
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Gen glöm inte att skriva dina ändringar till disken med kommandot ”w”.
Command (m for help): wThe partition table has been alteredSyncing disks.
c – Aktivering av din swap-partition
Först ska du se till att köra mkswap för att swap-huvudena ska ställas in korrekt för partitionen.
# For a regular partition$ sudo mkswap /dev/sda5# For a LVM partition$ sudo mkswap /dev/vgubuntu/lvswap
Nu när headers är inställda är det lika enkelt som att aktivera ditt swaputrymme med hjälp av ”swapon”.
# For a regular partition$ sudo swapon /dev/sda5# For a LVM partition$ sudo swapon /dev/vgubuntu/lvswap
Nu när din swap är aktiverad ska du se till att lista dina swap-partitioner igen med alternativet ”-show”.
$ sudo swapon --show
Grymt, du har lyckats skapa en swap-partition på Linux!
d – Gör ditt swap-utrymme permanent
Som alla andra partitioner måste du göra dina partitioner permanenta.
Om du skulle starta om din server just nu skulle ändringarna inte finnas kvar.
För det första måste du få ditt UUID för den nyskapade partitionen.
$ sudo blkid | grep "swap"
Kopiera UUID-värdet och redigera fstab-filen för att lägga till följande ändringar.
$ sudo nano /etc/fstabUUID=<copied value> none swap defaults 0 0
Spara filen och starta om systemet för att försäkra dig om att ändringarna är permanenta.
$ sudo reboot$ sudo swapon --show
Awesome, dina ändringar är nu permanenta!
Lägg till swaputrymme på Ubuntu 20.04 med hjälp av en swap-fil
Ett annat vanligt sätt att lägga till utrymme är att skapa en fil som är dedikerad till det.
Många handledningar anger inte den här detaljen, men swap-filer kan inte innehålla några hål alls.
Det innebär att du inte ska använda kommandot cp på din värd för att skapa en swap-fil.
För detta ska du använda kommandot ”dd” som ser till att du inte har några hål i din fil.
a – Skapa en swapfil med hjälp av dd
För att lägga till swaputrymme kör du följande kommando
$ sudo dd if=/dev/zero of=swapfile bs=1MB count=$((1*2014))
I det här fallet ska du skapa ett swaputrymme på 2 Gb.
Säkerställ att din swapfil skapades genom att köra följande kommando.
$ ls -l swapfile
b – Säkra din swapfil med behörigheter
Swapfiler är tänkta att användas för minnesoptimering.
Som en konsekvens bör de inte redigeras eller ändras på något sätt.
Som en konsekvens kommer vi att ändra dess behörigheter.
$ sudo chmod 600 swapfile
I det här fallet är filen skriv- och läsbar endast för rotkontot.
c – Aktivera din swapfil
För att aktivera din swapfil kan du använda kommandot ”mkswap” följt av kommandot ”swapon”.
$ sudo mkswap swapfile$ sudo swapon swapfile
Skönt, du har framgångsrikt skapat din swapfil!
Det sista du behöver göra är att göra den permanent med hjälp av fstab.
d – Gör din swap-fil permanent
För att göra ditt swap-utrymme permanent redigerar du filen /etc/fstab och klistrar in följande ändringar.
$ sudo nano fstab<path_to_file>/swapfile none swap defaults 0 0
Spara filen och starta om för att se till att swap-utrymmet fortfarande är monterat.
$ sudo reboot$ sudo swapon --show
Du har framgångsrikt lagt till swaputrymme på din Ubuntu 20.04!
Felsökning
När du lägger till swaputrymme på Ubuntu 20.04 kan du stöta på följande fel.
- swapon: /swapfile: read swap header failed.
Detta fel uppstår när du inte kör kommandot mkswap innan du kör kommandot swapon.
Som en påminnelse ställer mkswap in huvudet för filen eller partitionen som ska användas som växlingsutrymme.
Om du glömmer att köra kommandot mkswap kommer Linux inte att kunna tilldela den som växlingsutrymme på din värd.
- Fel gick inte att hitta den logiska volymen ”vg/lv”
Det här felet inträffar när du har tagit bort en logisk volym som definierats för att laddas i din initramfs-konfiguration.
För att åtgärda detta har du två alternativ :
- Kör ”update-initramfs -u”
- Säkerställ att inga logiska volymer ursprungligen nämndes i ”resume”-filen i din initramfs.
Ikoner gjorda av Freepik från FlatIcon.