Raspberry Pi har en begrenset mengde RAM og mer kan ikke legges til siden det er en enkeltbords datamaskin. Pi 3 har kun 1 GB RAM. Pi 4, avhengig av modellen, har opptil 8 GB RAM. Programvareapplikasjoner krever til tider mer minne. Mesteparten av tiden er dette minnekravet en kort økning. Når dette skjer, vil Raspberry Pi enten "fryse" eller "krasje" på grunn av det begrensede minnet. Krasjet kan også føre til at SD-kortet blir ødelagt, noe som resulterer i tap av data.
For å unngå muligheten for krasj, kan virtuelt minne i form av swap konfigureres på Pi. Riktig mengde av det må legges til på riktig enhet for å få det beste ut av det. Hele prosessen er forklart systematisk med instruksjoner for ulike operativsystemer.
Forstå hvordan minneprosessen fungerer
RAM er det fysiske minnet. På Pi 4 er den plassert ved siden av prosessoren. På Pi 3 er RAM plassert på undersiden av kretskortet. I motsetning til vanlige hovedkort, er RAM på en Raspberry Pi loddet til kortet, noe som begrenser muligheten for å øke kapasiteten.
Når et program kjøres, bruker det en del av RAM for å fungere. Tenk på en nettleser som et eksempel. Når en nettside lastes inn i en fane, lagrer den sidedataene i RAM-en sammen med minnet som trengs for å kjøre nettleserprogrammet. Når flere faner er lastet, fylles RAM-en like mye opp. Uten virtuelt minne vil RAM på et tidspunkt gå tom for kapasitet og nye faner kan ikke lastes i det hele tatt. Bla gjennom de eksisterende fanene vil også bremse betydelig ettersom det ikke er ledig minne for grunnleggende operasjoner. På dette tidspunktet vil Pi-en slutte å svare, og den eneste måten å få den tilbake på er gjennom strømsykling (slå av og på).
Denne tilfeldige avslutningen kan forårsake alvorlige problemer, spesielt når operativsystemet er på SD-kortet. Kortet kan bli låst til "skrivebeskyttet"-tilstand eller i verste fall bli fullstendig ødelagt. Dette er når totalt datatap oppstår.
Virkningen av "tomt minne (OOM)"-tilstand kan minimeres ved å konfigurere swap for å brukes som virtuelt minne. Swap kan settes i form av en fil eller en partisjon på disken og fungerer som en utvidelse til RAM. Når tilgjengelig RAM har gått tom, flyttes de sjelden brukte dataene på den for å bytte i en prosess som kalles swapping. I tilfellet med nettlesereksemplet vil dette være data fra en lastet fane som er minst brukt. Når fanen er aktivert igjen, vil disse dataene bli flyttet tilbake til RAM for å vise nettsiden.
Swap vil gi stabilitet for minnekrevende operasjoner. Hvis det er en kort økning i minneforbruket, vil swap bidra til å absorbere toppen og holde systemet fungerende i stedet for å ende opp i en total fryse.
Velge riktig enhet for å sette opp Swap
Bytte er viktig, men plasseringen og størrelsen på byttet som skal konfigureres er også like viktig. Ideelt sett må bytte være på en rask enhet. Ved siden av cachene på prosessoren er RAM det nest raskeste minnet. DDR4 på Pi har en båndbredde på 4,4 GBps (gigabyte per sekund). Swap må være på en av de andre tilgjengelige lagringsenhetene.
Hvis et SD-kort brukes for operativsystemet, er et lite bytteområde konfigurert på det som standard. Du kan sjekke størrelsen ved å bruke kommandoen:
fri -m
99 MB er ikke en betydelig mengde bytte. Det vil fylles opp ganske raskt. SD-kort har begrensede skrivesykluser siden de bruker flash-minne og overdreven bytting kan redusere levetiden. Dessuten har de lav båndbredde på rundt 50 MBps med mye mindre 4k-fillese-/skriveytelse som er avgjørende for å bytte mindre filer.
Harddisker har spinnende disker i dem. Selv om de er pålitelige, har de høyere søketider og er ikke nyttige for å bytte.
An rimelig SSD for OS er et rimelig bedre valg. Slitasjeutjevningsalgoritmene omorganiserer dataene fra utslitte flashceller og forlenger levetiden. På en Pi er SSD-båndbredden rundt 150 MBps og har mye bedre 4k-filytelse sammenlignet med SD-kort. Søkehastigheten er også god. Men bruker samme disk for swap og OS flaskehalser samtidig drift. Siden swap gjør intensive skrivinger, kan disken nå TBW (total bytes written) raskere enn forventet, spesielt på SSD-er med lav kapasitet.
Ideelt sett trenger Pi at OS og swap skal være på forskjellige stasjoner, en OS-disk og en dedikert SSD for swap. Dette vil gi lang levetid for OS-disken og hastighet for byttet. Dessuten vil båndbredden være tilgjengelig for begge samtidig siden de er forskjellige enheter.
Slik konfigurerer du Swap på Raspberry Pi-operativsystemer
Hvordan du best konfigurerer dette avhenger av hvilket operativsystem enheten din bruker.
Desktop OS (Raspberry Pi OS, Ubuntu Desktop og Ubuntu Mate)
Koble til SSD-en som skal brukes som bytte ved hjelp av en USB 3.0 til SATA III-adapter og start Pi. Prosessen som vises her er implementert på Raspberry Pi OS og skal fungere like bra på de andre operativsystemene. I tilfelle Raspberry Pi OS må oppdateres, gjør det.
Installer det nødvendige verktøyet for å administrere disker ved hjelp av GUI
sudo apt installere gnome-disk-verktøy
Åpen Disker fra Start > Tilbehør.
Du kan også bruke denne kommandoen i terminalen for å åpne verktøyet:
gnome-disker
Formater SSD-en fra menyen.
Lag en partisjon ved å bruke kontrollen med + symbol
Hele partisjonen kan tildeles for swap, men maksimalt to ganger RAM vil være tilstrekkelig.
Gi volumet et navn og velg Annen for Partisjonstype.
Å velge Linux Swap-partisjon og lage den.
Du kan montere den med en gang ved å klikke på kontrollknappen med Spille symbol. Den vil monteres under denne økten, men vil ikke feste seg over omstarter. Den må settes til å monteres automatisk. Klikk på Utstyr kontrollere og velge Rediger monteringsalternativer.
Veksle Standarder for brukerøkt og klikk OK. Autentiser og Disks vil legge til en oppføring i /etc/fstab for å montere den ved hver oppstart.
Start Pi på nytt, åpne terminalen og sjekk den nye byttestørrelsen:
fri -m
Tilleggsinnstilling kun for Raspberry Pi OS
Nå som byttet er konfigurert på en SSD, er det gamle byttet ikke nødvendig. Du kan slå den av ved å redigere:
sudo nano /etc/dphys-swapfile
Sett denne parameteren til null:
CONF_SWAPSIZE=0
Server OS (Ubuntu, Raspberry Pi OS)
Denne prosessen er gjennom CLI. For enkelhets skyld kan du klargjøre swap-partisjonen ved å bruke Disks-verktøyet på en annen datamaskin, deretter koble SSD-en til Pi-en og starte serveren. Koble til Pi ved hjelp av SSH å fortsette.
Finn swap-partisjonen:
lsblk
sda1 Det er. Finn UUID-en til denne enheten: sda1
blkid
Kopier UUID (unikt for deg) og rediger fstab-filen for å montere den automatisk ved hver oppstart:
sudo nano /etc/fstab
Legg til denne linjen:
UUID=”DIN UUID” ingen swap sw 0 0
Lagre, start på nytt og kontroller byttestørrelsen:
fri -m
Optimalisering av bruken av virtuelt minne for kollisjonssikker drift
Den konfigurerte swap-en må komme til god bruk. Dette gjøres ved å sette opp en parameter kalt swappiness. Slik finner du gjeldende verdi:
cat proc/sys/vm/swappiness
Sett til 60 som standard, definerer verdien hvor aggressivt kjernen bytter ut innhold fra RAM. Den kan stilles inn mellom 1 og 100. Den passende verdien avhenger av ditt spesifikke behov. Hvis du ser at Pi konsekvent går tom for RAM, sett den til 100. Hvis ikke, sett den til en lavere verdi. Rediger denne filen for å angi den:
sudo nano /etc/sysctl.conf
Legg til denne linjen på slutten:
vm.bytte=100
Forbehold om Processing Overhead og SSD TBW
Driftsswap krever prosessorkraft, vanligvis dedikerer en av de fire kjernene på Pi seg til å bytte når RAM er helt full.
Det generelle rådet som flyter rundt er å ikke bruke SSD-er for å bytte, det gjelder for tilfellet der OS (sammen med brukerdata) og swap er på samme disk. Det gjelder ikke i dette tilfellet når bytte er satt opp som forklart her. Selv om SSD-en som brukes til slutt vil krysse TBW og mislykkes, kan den ganske enkelt erstattes med en ny siden det ikke er noen viktige data lagret på den med denne prosessen.
Bytt fordel for din Pi
Å konfigurere swap rett er en fin måte å gjøre Pi-krasjsikker på. Stabiliteten skyldes det faktum at totalt tilgjengelig minne er en viktigere faktor enn hastigheten på minnet under OOM. Pi-en vil ikke fryse, og når piggbruken faller, vil den reagere raskere igjen.
Raspberry Pi er en liten datamaskin med stor fleksibilitet. Den kan brukes til forskjellige formål med forskjellige lette operativsystemer. Pi 4 fungerer godt som en erstatning for vanlige datamaskiner og også en innebygd enhet for industriell bruk som kan kjøre 24x7.