Ditt Linux-system bruker hemmelig harddisken din som RAM, og det er en god ting

Lær hvordan virtuell hukommelse og swap-plass fungerer i Linux, samt tips for optimalisering av systemets ytelse og håndtering av memory thrashing.

Hvis du tilbringer tid rundt seriøse Linux-brukere, vil du sannsynligvis høre en referanse til "swap-plass." Kanskje har du også lurt på hva swap-partisjonen som installasjonsprogrammet for Linux opprettet, er. Virtuell hukommelse og swap-plass kan være forvirrende. Her er hva du trenger å vite om Linux.

Hva er virtuell hukommelse?

En mer fleksibel visning av hukommelse

Mange mennesker blander "swap" med "virtuell hukommelse." Virtuell hukommelse er en teknikk som abstraherer datamaskinens hukommelse utover dens fysiske RAM.

Hvis du er kjent med konseptet av en virtuell maskin, der du kan opprette en helt annen datamaskin i et program som VirtualBox for å kjøre forskjellige operativsystemer, er virtuell hukommelse et lignende konsept. Virtuell hukommelse er en representasjon av datamaskinens hukommelse som operativsystemet bruker for å presentere et bilde av en hukommelse som ikke er begrenset av RAM-brikkene i maskinen din.

Det finnes en komponent på CPU-en som gjør dette mulig: Memory Management Unit eller MMU. MMU deler hukommelsen opp i "sider." MMU forhindrer også programmer fra å forstyrre hverandre, noe som er viktig i et multitasking, flerbrukersystem som Linux.

Sidestørrelsene er vanligvis like store som lagringsblokker på harddisker og SSD-er, noe som er den største fordelen med virtuell hukommelse: å skape et stort, enhetlig adresserom som inkluderer både systemets RAM og deler av harddisken. Denne tilnærmingen lar systemet ditt kjøre flere og større programmer selv når det kanskje ikke er nok fysisk RAM tilgjengelig i maskinen.

Teknikken ble først utviklet for mainframes og minidatamaskiner som måtte deles mellom flere brukere. Virtuell hukommelse innebar at det var mindre behov for fysisk hukommelse, noe som gjorde det mulig for kundene å spare penger ved å kjøpe maskiner med mindre fysisk RAM.

Operativsystemet, med hukommelsessider spredt over RAM og disken (jeg vil bruke begrepet "disk" for å referere til hovedlagringen, enten det er på en tradisjonell roterende harddisk eller SSD), kan "swap" disse sidene inn og ut av hovedhukommelsen. Operativsystemet vil vanligvis forsøke å holde sidene som aktivt brukes, "swappet inn", eller i den fysiske RAM-en. Dette er fordi RAM tradisjonelt har vært raskere enn disken, spesielt i tiden før SSD-er ble lett tilgjengelige.

Denne tilnærmingen gjør at programmene, og deler av programmene, som du faktisk bruker, er aktive i den raske RAM-en i stedet for den langsomme disken. Å deaktivere virtuell hukommelse kan paradoksalt nok bety et tregere system, siden alle de aktive programmene må holdes i hukommelsen. Mange programmer vil opprette mange sider ved oppstart, men kjernen vil flytte dem til bakgrunnen mens de høyprioriterte sidene forblir i RAM med virtuell hukommelse, ifølge Linux.com.

Hvis du ikke har nok fysisk RAM i systemet ditt, vil OS kontinuerlig bytte sider inn og ut av RAM, ute av stand til å holde tritt, et problem som blir enda verre av den langsomme hastigheten til tradisjonelle harddisker. Dette gjør systemet praktisk talt ubrukelig, et problem kjent som "thrashing." Thrashing med utilstrekkelig RAM var grunnen til at virtuell hukommelse fikk et dårlig rykte blant power-brukere, eller i det minste mennesker som trodde de var eksperter på datamaskiner, med noen som til og med unngikk å deaktivere det helt. Dette er en dårlig idé. Å ha de aktivt brukte delene i RAM med virtuell hukommelse er mer effektivt.

Den andre hovedbekymringen med virtuell hukommelse med den moderne bruken av SSD-er er mulig tidlig slitasje på SSD-en med lavere RAM-verdier, spesielt på moderne bærbare datamaskiner der RAM-en er loddet til hovedkortet og ikke kan oppgraderes. Det er mindre bevis for at dette er et praktisk problem med normal skrivebordsbruk. Hvis du jobber intensivt eller spiller AAA-spill, vil du uansett ønske deg mer RAM.

Hva er swap-plass?

Parkering av sider i filer eller partisjoner

Området i lagringen som holder utvekslede sider, er kjent som swap-plass.

Linux har to tilnærminger for implementering av swap-plass. Den mest vanlige er å dedikere en diskpartisjon. Tommelfingerregelen for swap-partisjoner var dobbel så mye som den fysiske RAM-en i maskinen. Dette er fortsatt hva de fleste Linux-installasjoner vil foreslå som standard når du partisjonerer disken din. Ulempen med denne tilnærmingen er at hvis du oppgraderer RAM-en, må du også øke swap-partisjonen. Swap-partisjoner er ofte de første partisjonene på disker på grunn av hvordan tradisjonelle harddisker fungerer.

Arbeidet drives. Det er raskere å søke mot innsiden av en plate, så dette er hvor installasjonsprogrammene vil plassere byttepartisjonen.

Den andre tilnærmingen er en byttefil, som navnet antyder, en dedikert fil i Linux-filsystemet. Det er mer fleksibelt enn en dedikert byttepartisjon, siden det kan endres enkelt hvis den fysiske RAM-en forandrer seg. Dette er tilnærmingen som Windows bruker for virtuell hukommelse. Det er mye mindre vanlig enn den dedikerte partisjonstilnærmingen i Linux-verdenen.

Byttepartisjon eller byttefil?

Tradisjon vs fleksibilitet

Den dedikerte partisjonstilnærmingen ser ut til å være den vanligste i Linux. De fleste vil sannsynligvis bare gjøre det som installasjonsprogrammet for Linux gjør. Den overveldende majoriteten av Linux-installasjoner foretrekker fortsatt byttepartisjoner.

Hvis du oppgraderer RAM-en din ofte eller bare foretrekker et enklere partisjonsoppsett, kan du velge en byttefil. Det er også mulig å kjøre et system uten noe bytteområde i det hele tatt, men du kan oppleve å gå tom for minne. Linux-systemer uten noe bytte er vanligvis i nisjeapplikasjoner som innebygde systemkontrollere.

Hvor mye bytteområde?

Revurdere den tradisjonelle "to ganger fysisk RAM" regelen

Den tradisjonelle tommelfingerregelen for hvor mye bytteområde du trenger har vært to ganger den fysiske minnet. Dette var fra en tid hvor maskiner pleide å ha mye mindre RAM enn de har nå. Det kan fortsatt holdes fordi moderne operativsystemer, inkludert Linux, er mye mer kapable. De fleste moderne maskiner støtter dvalemodus, og den funksjonen bruker bytteområde for å lagre tilstanden til systemet. Hvis du benytter deg av denne funksjonen, er mer bytteområde bedre. Du bør betrakte mengden fysisk RAM som det minste av bytteområde.

Den enkle måten å fikse thrashing

Systemstamming? Du trenger sannsynligvis mer RAM

Hvis du lider av thrashing, kan du tenke på å justere "swappiness" til systemet, eller hvor aggressivt det vil bytte sider inn og ut. Dette ville bare være en midlertidig løsning.

Du vil kanskje ikke like svaret, spesielt med prisen på RAM, men den eneste pålitelige måten å fikse swapping er å legge til mer RAM.

Linuxs usungne helt

Bytteområde er noe de fleste på moderne Linux-systemer ikke tenker på før noe går galt. Virtuell hukommelse gjør moderne skrivebordsbruk mulig, men det kan bare gå så langt. Å forstå hvordan det fungerer og dets begrensninger vil hjelpe deg å bruke bytteområde på Linux mer effektivt ved din neste installasjon.

Hvis du vil lese flere artikler som Ditt Linux-system bruker hemmelig harddisken din som RAM, og det er en god ting, kan du besøke kategorien Linux.

Index
  1. Hva er virtuell hukommelse?
    1. En mer fleksibel visning av hukommelse
  2. Hva er swap-plass?
    1. Parkering av sider i filer eller partisjoner
  3. Byttepartisjon eller byttefil?
    1. Tradisjon vs fleksibilitet
  4. Hvor mye bytteområde?
    1. Revurdere den tradisjonelle "to ganger fysisk RAM" regelen
  5. Den enkle måten å fikse thrashing
    1. Systemstamming? Du trenger sannsynligvis mer RAM
    2. Linuxs usungne helt

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Go up