Permalänk
Medlem

Swap

Jao... vad är SWAP till för egentligen? Har ett litet problem med att det är fullt med primära partitioner på min disk nu och jag vill ha ett till Linux så jag kan ha en stor boot-fest i GRUB.

Är det livsfarligt att ta bort SWAP? Vad är den bra för?

EDIT: Okej, vet vad SWAP är nu. Behöver jag det om jag har 512MB RAM?

Permalänk
Medlem

Ja, du behöver fortfarande swap. Men om du multibootar flera Linuxdistributioner kan du låta alla dela samma swap-partition (se /etc/fstab).

Håkan

Permalänk
Medlem

Man kan köra utan swap, men det är alltid bättre att ha en (det går fortare och bättre).

Däremot behöver man inte ha en separat partition för swap, det går bra med en fil på ett befintligt filsystem. Man skapar en tom fil med dd, och kör med mkswap / swapon / fstab som vanligt (med filnamnet istället för partitionen).

Permalänk

Det går inte fortare och bättre om man inte använt allt sitt RAM-minne först. 512 MB räcker ganska långt i en vanlig desktop-dator. Men det är ju aldrig fel att ha lite extra swap om det skulle behövas någon gång.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av LGH
Ja, du behöver fortfarande swap. Men om du multibootar flera Linuxdistributioner kan du låta alla dela samma swap-partition (se /etc/fstab).

Håkan

Nope, swap-utrymme är inget krav i Linux, bara Windows...

Citat:

Ursprungligen inskrivet av Stack
Däremot behöver man inte ha en separat partition för swap, det går bra med en fil på ett befintligt filsystem. Man skapar en tom fil med dd, och kör med mkswap / swapon / fstab som vanligt (med filnamnet istället för partitionen).

Det har aldrig varit rekommenderat och kommer heller aldrig att vara det. Om man kör swappen på en fil så kommer varje läsning och skrivning ske genom den vanliga I/O-hanteraren, som i sin tur själv behöver allokera minne för varje skrivning och läsning; det kommer då att resultera i sämre prestanda och eventuella risker för så kallade "dead-locks"...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sachankara
Det har aldrig varit rekommenderat och kommer heller aldrig att vara det. Om man kör swappen på en fil så kommer varje läsning och skrivning ske genom den vanliga I/O-hanteraren, som i sin tur själv behöver allokera minne för varje skrivning och läsning; det kommer då att resultera i sämre prestanda och eventuella risker för så kallade "dead-locks"...

Men en SWAP-disk ligger ju också på hårddisken, vad skiljer det åt?

Hur stor bör jag göra min SWAP då?

Permalänk
Medlem

Det var sant förr i världen, men sedan nån nyare 2.4.x (minns inte vilken version, och google sviker mig) och alla 2.6 sker swap till fil med ingen eller minimal prestandaförlust (någon eller ett par procent). Antar att det beror på att kärnan inte behöver gå via filsystemet varenda gång, eftersom den kan kolla var på disken swapfilen ligger och gå raka vägen dit. Man bör dock kanske skapa filen medan partitionen är relativt ny (d.v.s. aldrig har varit full), så swapfilen blir sammanhängande.

Det man kan behöva krångla med är hur swap läggs till vid boot. Om startscripten kör swapon innan filsystemet med swapfilen är monterat, eller när det är monterat read-only, kommer det såklart inte att funka. Jag fick lägga till en extra "/sbin/swapon -a" i rc.S efter att den remountat rotfilsystemet read-write (slackware 10.0).
En nackdel är att suspend-to-disk (vilket man nog bara har användning för på laptops) verkar trivas bäst med att suspend:a till en swappartition. Det ska gå med swapfil (eller en separat fil), men det kräver ytterligare nivåer av häxkonst.

Edit: Tror rekommendationen är 2xRAM (d.v.s. 1GB swap för 512MB RAM), men det beror på hur mycket du kör samtidigt. Oftast använder man väldigt lite swap.

Permalänk
Medlem

Men just nu så kör jag helt utan SWAP (ska göra en SWAP på hdb, för inga fler partitioner rymms på hda), och det segar inte alls. Saken är den att jag vill undvika att det börjar sega senare... men om SWAP inte behövs nu så låter väl en gigabyte som lite mycket eller?

Permalänk
Medlem

Om ditt system inte behöver mer än dina 512MiB RAM så gör det varken till eller från att ha en swap, om du har en kommer den ändå inte att användas. Det är först när du använder mer minne som det skulle vara bra att ha lite swap

Har man 512MiB minne eller mer kan man, åtminstone enligt mig, köra utan swap på ett generellt desktopsystem (inte allt för minneskrävande apps och inte jätteavancerad bildhantering eller liknande som kräver gigabytevis med minne ). Jag har själv kört flertalet Debiansystem på 512MiB och uppåt utan swap, även något på 384MiB vill jag minnas och det har aldrig varit några problem.

Permalänk
Medlem

Om du är utan swap kommer allt gå bra tills minnet tar slut, och då är det tvärstopp. Somliga påstår att systemet går fortare om man har swap fast den inte används, men jag undrar hur det kan stämma egentligen. En del har t.o.m. ramdiskar med swap på, och det undrar jag verkligen vad det kan vara bra för.
Några hundra meg disk är billigt, så jag ser till att alltid ha lite swap även om det egentligen inte används.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Trojan1313

Men en SWAP-disk ligger ju också på hårddisken, vad skiljer det åt?

Hur stor bör jag göra min SWAP då?

Det är rätt stor skillnad ska du se... Tänker för en gångs skull inte förklara, men om du är intresserad så finns det poster på kerneltrap och lkml där kernel-utvecklarna förklarar för mindre vetande att det inte är någon bra lösning och kan leda till problem...

Citat:

Ursprungligen inskrivet av Stack
Det var sant förr i världen, men sedan nån nyare 2.4.x (minns inte vilken version, och google sviker mig) och alla 2.6 sker swap till fil med ingen eller minimal prestandaförlust (någon eller ett par procent). Antar att det beror på att kärnan inte behöver gå via filsystemet varenda gång, eftersom den kan kolla var på disken swapfilen ligger och gå raka vägen dit. Man bör dock kanske skapa filen medan partitionen är relativt ny (d.v.s. aldrig har varit full), så swapfilen blir sammanhängande.

Var swappens delar ligger relativt på partitionen måste alltid räknas ut om den ligger i en fil. Rena swap-partitioner är det enda som kan garantera maximal prestanda utan eventuella problem. Som jag skrev tidigare: Om partitionen ligger i form av en fil på en annan partition så måste minne allokeras för att utföra transaktioner, det i sin tur kan leda till dead-locks i och med det möjligtvis inte finns något minne att skriva till -- det resulterar i att kswapd försöker swappa över den nuvarnade transaktionen till swappen, som i sin tur själv kräver minne och kommer att swappas bort. Så kommer det att fortsätta tills minnet och swappen är båda fyllna (vilket då leder till att kärnan kommer börja stänga ner processer för att få tillgång till lite ledigt minne)...

Citat:

Ursprungligen inskrivet av Stack
Om du är utan swap kommer allt gå bra tills minnet tar slut, och då är det tvärstopp. Somliga påstår att systemet går fortare om man har swap fast den inte används, men jag undrar hur det kan stämma egentligen. En del har t.o.m. ramdiskar med swap på, och det undrar jag verkligen vad det kan vara bra för.
Några hundra meg disk är billigt, så jag ser till att alltid ha lite swap även om det egentligen inte används.

Även om swap inte nödvändigtvis behövs så hjälper det faktiskt lite med prestandan. Medan en applikation idlar så kan kswapd swappa ut delar av applikationens data (den swappar aldrig ut binärdatan) och sedan snabbt återställa den när den behövs. T.ex. disk-cachen tjänar på det eftersom den alltid behöver minnet "här och nu" till skillnad från en applikation som har sovit i ett bra tag. Den sovande applikationen swappas alltså ut så minnet kan användas till processer som möjligtvis behöver en massa snabbt minnet under en kortare tid...

Förövrigt kan jag ju säga att swap på en RAM-disk inte är positivt ur en prestandasynvinkel. Läs mer på kerneltrap.org ...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sachankara
Var swappens delar ligger relativt på partitionen måste alltid räknas ut om den ligger i en fil.

Men det behöver bara göras en enda gång, och tar inte mer än några millisekunder. Och samma uträkning (fast ännu lite enklare) måste göras även för vanliga swap-partitioner.

Citat:

Ursprungligen inskrivet av Sachankara
T.ex. disk-cachen tjänar på det eftersom den alltid behöver minnet "här och nu" till skillnad från en applikation som har sovit i ett bra tag.

Så var det nog. Disk-cachen är faktiskt en anledning till att ha swap även om man inte tror sig behöva det. Det RAM-minne som inte används så hårt kan oftast användas bättre till diskcache.

Citat:

Ursprungligen inskrivet av Sachankara
Förövrigt kan jag ju säga att swap på en RAM-disk inte är positivt ur en prestandasynvinkel. Läs mer på kerneltrap.org ...

Det var ju just där jag läste om nån snubbe som tyckte man skulle ha swap på ramdisk, men jag begrep aldrig varför. Han tyckte att om man skulle ha 512MB RAM i vanliga fall skulle man köpa 1-1.5GB och sätta upp ramdisk av resten. Begrep aldrig varför det någonsin skulle kunna vara bättre än 1-1.5GB "riktigt" RAM och vanlig HD-swap. Kanske för att den då använder mer ram-swap till diskcache än vad den skulle gjort annars, men det känns som en dum lösning på problemet.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Stack
Somliga påstår att systemet går fortare om man har swap fast den inte används, men jag undrar hur det kan stämma egentligen.

Det har jag aldrig upplevt under Linux, men däremot är det så under Windows NT. Av någon konstig anledning

Permalänk
Medlem
Skrivet av Stack:

Det var ju just där jag läste om nån snubbe som tyckte man skulle ha swap på ramdisk, men jag begrep aldrig varför. Han tyckte att om man skulle ha 512MB RAM i vanliga fall skulle man köpa 1-1.5GB och sätta upp ramdisk av resten. Begrep aldrig varför det någonsin skulle kunna vara bättre än 1-1.5GB "riktigt" RAM och vanlig HD-swap. Kanske för att den då använder mer ram-swap till diskcache än vad den skulle gjort annars, men det känns som en dum lösning på problemet.

Generellt sett är ju ram disken rimligen snabbast. Har aldrig gillat swap personligen... men den behövs nog till något...

Permalänk
Medlem

Undra om du kommer få något svar, sisodär 5½år efter att tråden var aktuell