Raspberry Pi are o cantitate limitată de memorie RAM și nu poate fi adăugată mai mult, deoarece este un computer cu o singură placă. Pi 3 are doar 1 GB de RAM. Pi 4, în funcție de model, are până la 8 GB RAM. Aplicațiile software necesită uneori mai multă memorie. De cele mai multe ori, această cerință de memorie este o scurtă creștere. Când se întâmplă acest lucru, Raspberry Pi se va „îngheța” sau „se va prăbuși” din cauza memoriei limitate. De asemenea, accidentul poate duce la coruptarea cardului SD, ceea ce duce la pierderea datelor.
Pentru a evita posibilitatea unui accident, memoria virtuală sub formă de swap poate fi configurată pe Pi. Cantitatea potrivită trebuie adăugată pe dispozitivul corect pentru a obține cele mai bune rezultate. Întregul proces este explicat sistematic cu instrucțiuni pentru diferite sisteme de operare.
Înțelegerea modului în care funcționează procesul de memorie
RAM este memoria fizică. Pe Pi 4, acesta este situat lângă procesor. Pe Pi 3, memoria RAM este plasată în partea de jos a plăcii de circuit imprimat. Spre deosebire de plăcile de bază obișnuite, memoria RAM de pe un Raspberry Pi este lipită pe placă, ceea ce limitează posibilitatea de a-și crește capacitatea.
Când o aplicație software este rulată, aceasta utilizează o porțiune de RAM pentru funcționarea sa. Gândiți-vă la un browser ca exemplu. Când o pagină web este încărcată într-o filă, aceasta stochează datele paginii în RAM împreună cu memoria necesară pentru a rula programul browser. Când sunt încărcate mai multe file, memoria RAM este umplută la fel de mult. Fără memorie virtuală, la un moment dat RAM-ul va epuiza capacitatea și noi file nu pot fi încărcate deloc. Răsfoirea filelor existente va încetini, de asemenea, semnificativ, deoarece nu există memorie liberă pentru operațiunile de bază. În acest moment, Pi va înceta să mai răspundă și singura modalitate de a-l aduce înapoi este prin deconectarea alimentării (oprire și pornire).
Această oprire aleatorie poate cauza probleme grave, mai ales când sistemul de operare este pe cardul SD. Cardul s-ar putea bloca în starea „numai citire” sau, în cel mai rău caz, poate fi corupt complet. Acesta este momentul în care are loc pierderea totală a datelor.
Impactul condiției „memorie lipsită (OOM)” poate fi minimizat prin configurarea schimbului pentru a fi utilizat ca memorie virtuală. Swap poate fi setat sub forma unui fișier sau a unei partiții pe disc și funcționează ca o extensie a RAM. Când memoria RAM disponibilă s-a epuizat, datele utilizate rar de pe aceasta sunt mutate pentru a se schimba într-un proces numit schimb. În cazul exemplului de browser, acestea ar fi date dintr-o filă încărcată care este cel mai puțin utilizată. Când fila este activată din nou, aceste date vor fi mutate înapoi în RAM pentru a afișa pagina web.
Schimbarea va aduce stabilitate pentru operațiunile cu multă memorie. Dacă există o scurtă creștere a consumului de memorie, schimbul va ajuta la absorbția vârfului și la menținerea funcționării sistemului, în loc să ajungă într-o blocare totală.
Alegerea dispozitivului potrivit pentru a configura schimbarea
Schimbarea este esențială, dar locația și dimensiunea schimbului care urmează să fie configurat sunt, de asemenea, la fel de importante. În mod ideal, schimbul trebuie să fie pe un dispozitiv rapid. Lângă memoria cache de pe procesor, RAM este a doua cea mai rapidă memorie. DDR4 pe Pi are o lățime de bandă de 4,4 GBps (gigabytes pe secundă). Schimbarea trebuie să fie pe unul dintre celelalte dispozitive de stocare disponibile.
Dacă se folosește un card SD pentru sistemul de operare, în mod implicit este configurată o mică zonă de schimb. Puteți verifica dimensiunea acestuia folosind comanda:
liber -m
99 MB nu este o cantitate semnificativă de swap. Se va umple destul de repede. Cardurile SD au cicluri de scriere limitate, deoarece folosesc memorie flash, iar schimbarea excesivă le-ar putea reduce durata de viață. De asemenea, au o lățime de bandă redusă, de aproximativ 50 MBps, cu o performanță de citire/scriere a fișierelor de 4k mult mai mică, care este esențială pentru schimbarea fișierelor mai mici.
Hard disk-urile au discuri care se rotesc în ele. Deși fiabile, au timpi de căutare mai mari și nu sunt utile pentru schimb.
Un SSD ieftin pentru sistemul de operare este o alegere relativ mai bună. Algoritmii de nivelare a uzurii reorganizează datele din celulele flash uzate și prelungesc durata de viață a acestora. Pe un Pi, lățimea de bandă SSD este în jur 150 MBps și are performanțe de fișiere 4k mult mai bune în comparație cu cardurile SD. Viteza de căutare este de asemenea bună. Dar folosirea aceluiași disc pentru operare simultană de swap și blocajele sistemului de operare. Deoarece schimbul face scrieri intensive, discul poate ajunge la TBW (total de octeți scriși) mai devreme decât era de așteptat, în special pe SSD-urile cu capacitate mică.
În mod ideal, Pi are nevoie de sistemul de operare și de schimb pentru a fi pe diferite unități, un disc OS și un SSD dedicat pentru schimb. Acest lucru ar oferi longevitate discului OS și viteza schimbului. În plus, lățimea de bandă va fi disponibilă pentru ambele simultan, deoarece sunt dispozitive diferite.
Cum se configurează Swap pe sistemele de operare Raspberry Pi
Cum să configurați cel mai bine depinde de sistemul de operare pe care îl folosește dispozitivul dvs.
Sistem de operare desktop (OS Raspberry Pi, Ubuntu Desktop și Ubuntu Mate)
Conectați SSD-ul pentru a fi utilizat ca schimb folosind a Adaptor USB 3.0 la SATA III și porniți Pi. Procesul prezentat aici este implementat pe sistemul de operare Raspberry Pi și ar trebui să funcționeze la fel de bine pe celelalte sisteme de operare. In caz sistemul de operare Raspberry Pi trebuie actualizat, Fă-o.
Instalați instrumentul necesar pentru a gestiona discurile folosind GUI
sudo apt instalare gnome-disk-utility
Deschis Discuri din Start > Accesorii.
De asemenea, puteți utiliza această comandă în terminal pentru a deschide instrumentul:
gnome-discuri
Formatați SSD-ul din meniu.
Creați o partiție folosind controlul cu + simbol
Întreaga partiție poate fi alocată pentru schimb, dar un maxim de două ori RAM ar fi suficient.
Denumiți volumul și selectați Alte pentru Tip partiție.
Selectați Linux Swap Partition și creează-l.
Îl puteți monta imediat făcând clic pe butonul de control cu butonul Joaca simbol. Se va monta în timpul acestei sesiuni, dar nu se va menține peste reporniri. Trebuie setat să se monteze automat. Apasă pe Angrenaj controlați și selectați Editați opțiunile de montare.
Comutare Sesiuni implicite ale utilizatorului și faceți clic O.K. Authenticate and Disks va adăuga o intrare în /etc/fstab pentru a-l monta la fiecare pornire.
Reporniți Pi, deschideți terminalul și verificați noua dimensiune de schimb:
liber -m
Setare suplimentară numai pentru sistemul de operare Raspberry Pi
Acum că schimbul este configurat pe un SSD, vechiul schimb nu este necesar. Îl puteți dezactiva editând:
sudo nano /etc/dphys-swapfile
Setați acest parametru la zero:
CONF_SWAPSIZE=0
Sistem de operare server (Ubuntu, Raspberry Pi OS)
Acest proces este prin CLI. Pentru ușurință, puteți pregăti partiția de schimb folosind instrumentul Disks pe alt computer, apoi atașați SSD-ul la Pi și porniți serverul. Conectați-vă la Pi folosind SSH a inainta, a merge mai departe.
Găsiți partiția de schimb:
lsblk
sda1 este. Găsiți UUID-ul acestui dispozitiv: sda1
blkid
Copiați UUID (unic pentru tine) și editați fișierul fstab pentru a-l monta automat la fiecare pornire:
sudo nano /etc/fstab
Adăugați această linie:
UUID=”UUID-ul DVS” niciun schimb sw 0 0
Salvați, reporniți și verificați dimensiunea de schimb:
liber -m
Optimizarea utilizării memoriei virtuale pentru funcționarea împotriva accidentelor
Schimbarea configurată trebuie să fie folosită în mod corespunzător. Acest lucru se realizează prin setarea unui parametru numit swappiness. Pentru a găsi valoarea curentă:
cat proc/sys/vm/swappiness
Setată implicit la 60, valoarea definește cât de agresiv schimbă nucleul conținutul din RAM. Poate fi setat intre 1 si 100. Valoarea potrivită depinde de nevoile dumneavoastră specifice. Dacă vedeți că Pi-ul rămâne în mod constant fără RAM, setați-l la 100. Dacă nu, setați-o la o valoare mai mică. Editați acest fișier pentru a-l seta:
sudo nano /etc/sysctl.conf
Adăugați această linie la sfârșit:
vm.swappiness=100
Avertismente ale procesării Overhead și SSD TBW
Schimbarea de operare necesită putere de procesare, de obicei unul dintre cele patru nuclee de pe Pi se dedică schimbului atunci când RAM este absolut plină.
Sfatul general care plutește este să nu folosiți SSD-uri pentru schimb, este adevărat pentru cazul în care sistemul de operare (împreună cu datele utilizatorului) și swap sunt pe același disc. Nu se aplică în acest caz când schimbul este configurat așa cum este explicat aici. Deși SSD-ul folosit își va depăși în cele din urmă TBW și va eșua, poate fi pur și simplu înlocuit cu unul nou, deoarece nu există date importante stocate pe el cu acest proces.
Schimbați avantajul pentru Pi dvs
Configurarea corectă a schimbului este o modalitate excelentă de a face Pi proof. Stabilitatea se datorează faptului că memoria totală disponibilă este un factor mai semnificativ decât viteza memoriei în timpul OOM. Pi-ul nu se va îngheța și, odată ce utilizarea vârfului scade, va răspunde din nou mai repede.
Raspberry Pi este un computer mic, cu o mare flexibilitate. Poate fi folosit în diferite scopuri cu diferite sisteme de operare ușoare. Pi 4 servește bine ca înlocuitor pentru computerele obișnuite și, de asemenea, un dispozitiv încorporat pentru uz industrial care poate rula 24x7.