Promena velicine swap fajla u Linuxu

Kod nekih novijih Linux distribucija, ukljucujuci Linux Mint 19.2 se ne koristi swap particija, vec swap fajl, koji se nalazi na root particiji.

Ako imate potrebu da promenite default velicinu swap fajla, to se radi na sledeci nacin:

Preporucujem da ovo radite odmah posle ukljucivanja, odnosno restarta kompjutera.

Pokrenite terminal i kucajte sledece komande:

Ova komanda iskljucije koriscenje swap-a:
sudo swapoff -a

Ako zelite da Vam velicina swap fajla bude 4GB, kucajte, kao u primeru count=4096, za velicinu fajla 8GB kucajte count=8192 itd…
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress

Kada dd zavrsi sa kreiranjem fajla, kucajte:
sudo chmod 0600 /swapfile
sudo mkswap /swapfile

Na kraju kucajte:
sudo swapon -a

Ako se posle ove poslednje komande ne aktivira swap file, onda restartujte kompjuter. Posle restarta ce biti aktivan swap fajl.

Smanjivanje upotrebe swap-a u Linuxu

Swap je proces kojim se deo RAM memorije kopira u konfigurisani prostor na hard disku, da bi se oslobodio deo RAM memorije. Taj konfigurisani prostor se zove swap prostor. Swap prostor u Linuxu moze biti zasebna swap particija ili swap fajl. Zbir RAM memorije i swap prostora je kolicina virtuelne memorije.

Swap je neophodan iz dva vazna razloga.
Prvo, kada sistem zahteva vise memorije nego sto je dostupna kolicina RAM memorije, tada kernel oslobodi potrebnu RAM memoriju aktivnim programima ili procesima tako sto kopira sadrzaj RAM memorije koji trenutno nije potreban na swap prostor.
Drugo, izvesna kolicina memorije koju koriste programi tokom njihovog pokretanja može da se koristi samo za iniciranje i onda se vise nikada ponovo ne koristi.
Na taj nacin sistem oslobodi memoriju za druge programe, ili cak i za kes diska.

Medjutim, swap ima mana. U poredjenju sa RAM memorijom, diskovi su mnogo sporiji. Sto vise disk “swapuje” to ce sistem biti sporiji.

Swappiness je parametar Linux kernela koji kontrolise upotrebu swap-a. Swappiness se moze podesiti na vrednosti izmedju 0 i 100. Standardna vrednost je 60. Sto je vrednost swappiness-a visa, to ce kernel agresivnije koristiti swapp i obrnuto, sto je vrednost niza, kernel ce manje koristiti swapp.

Vrednost swappiness-a 60 je korisna za servere. Ali za desktop sisteme je ta vrednost prevelika i moze doci do nepotrebnog usporavanja sistema usled suvise agresivnog “swapovanja”. Na desktop sistemima se preporucuje da swappiness bude 10, s tim sto ako sistem ima manje od 1GB RAM memorije onda staviti swappiness vrednost 5.

Trenutnu vrednost swappiness-a mozete videti ako ukucate sledecu liniju u terminalu:
cat /proc/sys/vm/swappiness

Da bi ste izmenili vrednost swappinessa,
kao sudo pokrenite neki editor teksta i otvorite fajl:
/etc/sysctl.conf
i dodajte liniju:
vm.swappiness=10
sacuvajte izmene i restartujte kompjuter.

Na primer u terminalu kucajte:
gksudo mousepad /etc/sysctl.conf
dodajte liniju:
vm.swappiness=10
sacuvajte izmene i restartujte kompjuter.