Jump to content
Zamolxis666

Linux – spatiul de swap

Recommended Posts

Sistemul Linux imparte memoria sa fizica (RAM-ul) in parti (bucati) de memorie numite pagini. Swapping-ul (sau interschibarea) este procesul in care o pagina de memorie este copiata intr-un spatiu preconfigurat de pe hard-disk, numit si spatiu pentru swap, cu scopul de a elibera acea pagina de memorie. Dimensiunea memoriei RAM la care sa adauga dimensiunea spatiului pentru swap (engl. swap space) formeaza totalul memoriei virtuale disponibile (eng. virtual meory).

Swapping-ul este necesar in doua situatii:

1. Cand sistemul necesita mai multa memorie decat memoria fizica disponibila, kernelul realizeaza un swap cu pagina de memorie cea mai putin folosita, iar memoria eliberata este data spre folosire aplicatiei curente (sau proces) care necesita urgent memorie.

2. Un numar semnificativ de pagini de memorie folosite de o aplicatie in faza start-up pot fi utilizate doar pentru initializare, iar apoi mai deloc. Sistemul poate atunci sa faca un swap pe acele pagini si sa elibereze memoria pentru alte aplicatii sau pentru disk cache.

Totusi, swapping-ul are si un dezavantaj. Comparativ cu RAM-ul, hard-disk-ul este mai incet. Viteza memoriei RAM este de ordinul nanosecundelor pe cand cea a HDD-ului este de milisecunde, prin urmare accesul la disc (scriere sau citire) poate fi si de mii de ori mai incet decat accesul la memoria fizica. Cu cat procesul de swap este mai utilizat, cu atat sistemul va deveni mai incet.

Linux-ul prezinta doua forme de spatiu pentru swap: partitii pentru swap (swap partition) si fisiere pentru swap (swap files). Partitiile de swap sunt sectiuni independente ale hard-disk-ului folosite numai pentru swap; niciun alt fisier nu poate exista pe aceste partitii. Fisierul de swap este un tip special de fisier care rezida printre celelalte fisier de date sau de sistem. Pentru a vedea spatiul pentru swap se foloseste comanda swapon -s. Rezultatul arata cam asa:


Filenam Type Size Used Priority
/dev/sda5 partition 859436 0 -1

Fiecare linie reprezinta un spatiu de swap separat care este folosit de sistem. In exemplul de mai sus, campul ‘Type’ indica faptul ca spatiul de swap este o partitie si nu un fisier; din campul ‘Filename’ putem vedea ca partitia se numeste sda5. Campul ‘Size’ este exprimat in kilobytes (1kilobyte= 1 kiloOctet = 1024 biti), iar capul ‘Used’ specifica cati kilobytes din totalul spatiului de swap sunt folositi (in cazul de fata, niciunul). ‘Priority’ informeaza sistemul de operare care spatiu de swap sa il foloseasca prima data. Un mare atuu pentru Linux este urmatorul: daca se da mount la doua sau mai multe spatii de swap cu aceeasi prioritate, Linux-ul va intretzese (eng. interleave) activitatea de swap intre ele, ceea ce conduce la o performanta ridicata de swapping.

Primul pas pentru a adauga mai mult spatiu de swap sistemului este sa te asiguri ca partitia este marcata ca si partitie pentru swap:


fdisk -l /dev/hdb

Trebuie inlocuit /dev/hdb cu partitia pentru swap. Rezultatul arata cam asa:


Device Boot Start End Blocks Id System
/dev/hdb1 2328 2434 859446 82 Linux swap / Solaris

Odata ce partitia a fost marcata ca partitie pentru swap, trebuie rulata comanda mkswap ca root:


mkswap /dev/hdb1

Daca nu apare nicio eroare, atunci inseamna ca partitia pentru swa este gata de a fi folosita. Pentru a o activa trebuie executata comanda:


swapon /dev/hdb1

Articol (partial) tradus si adaptat de pe: https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...