Dodavanje swap prostora vašem poslužitelju izvrsna je opcija za kompenzaciju pogrešaka nedostatka memorije. Linux omogućuje korisnicima dodavanje swap prostora u njihov sustav kada je količina RAM-a u sustavu puna. Kada stvorite namjensku particiju prostora, omogućit ćete nesmetan rad vaše fizičke memorije bez prevelike brige o nedostatku prostora na disku.
Pregled swap prostora
Swap prostor u Linuxu dio je strojne virtualne memorije koja se koristi kada fizičkoj memoriji ponestane prostora. Posebno pri radu s velikim programom ili aplikacijom gdje se javlja potreba za dodatnom memorijom, swap prostor je idealan izbor za privremeno držanje neaktivnih memorijskih stranica. Stvaranje swap prostora omogućuje korisnicima pohranu podataka kada se izvode veliki programi i tako smanjuje rušenje aplikacija. To znači da ako sustav treba više memorijskih resursa, a RAM je pun, sve neaktivne stranice u memoriji prebacuju se u swap prostor i programi mogu raditi bez prekida.
Koliko mi je swap prostora potrebno?
Količina swap prostora ovisi o nekoliko čimbenika. To uključuje dostupan RAM, nametnuto opterećenje i je li sustav potreban za podršku značajke hibernacije (suspend-to-disk). Pogledajte tablicu u nastavku kako biste provjerili preporučeni swap prostor na temelju prostora dostupnog u RAM-u:
|
Red. br. |
Dostupan RAM prostor |
Preporučeni swap prostor |
|
1. |
1GB |
1GB |
|
2. |
2GB |
1GB |
|
3. |
3GB |
2GB |
|
4. |
4GB |
2GB |
|
5. |
5GB |
2GB |
|
6. |
6GB |
2GB |
|
7. |
8GB |
3GB |
U ovom vodiču ćemo vas provesti kroz korake dodavanja swap prostora na Ubuntu 20.04. Počnimo!
Preduvjeti
Kako biste pratili ovaj vodič, trebat će vam:
- instaliran Ubuntu na vašem sustavu.
- Ne-root korisnički račun postavljen sa sudo privilegijama na vašem računalu.
Korak 1: Provjera informacija o swap prostoru
Veličina swap prostora ovisi o RAM-u sustava. Stoga je bitno provjeriti dostupnost swap prostora u vašem sustavu prije nego što ga stvorite. Upišite naredbu u nastavku kako biste provjerili ima li sustav konfiguriran swap:
|
1 |
$ sudo swapon --show |
Prikazani izlaz znači da u vašem sustavu ima slobodnog prostora za stvaranje swap prostora. Međutim, nedostatak izlaza signal je koji ukazuje da nema dovoljno slobodnog prostora za dodavanje swap prostora.
Koristite uslužni program free kako biste potvrdili da nema aktivnog swapa:
|
1 |
$ free -h |
Vidjet ćete izlaz kao prazan redak za swap:
Korak 2: Provjera dostupnosti particije tvrdog diska
Slično provjeri dostupnosti sustava, sada provjerimo našu trenutnu upotrebu diska kako bismo bili sigurni da imamo dovoljno prostora. Koristite naredbu df kako biste provjerili dostupnost particije tvrdog diska:
|
1 |
df -h |
Uređaj s / u stupcu Mounted on je naš disk koji ima 11% slobodno. Vidjet ćete izlaz:
Nakon provjere zahtjeva sustava, krenimo dalje i stvorimo swap datoteku na našem datotečnom sustavu.
Korak 3: Stvaranje swap datoteke
Za stvaranje swap datoteke na našem datotečnom sustavu, dodijelite naziv datoteke kao swapfile u korijenskom (/) direktoriju pomoću programa fallocate. Dodjeljivanje veličine datoteke ovisi o vašim potrebama. Kako bi vodič bio jednostavan i lak za razumijevanje, stvaramo datoteku od 1G i namjenjujemo 1G RAM-a. Koristite naredbu sudo za stvaranje swap datoteke:
|
1 |
sudo fallocate -l 1G /swapfile |
Zatim upišite ovu naredbu kako biste potvrdili rezervirani prostor:
|
1 |
$ ls -lh /swapfile |
Sada kada smo stvorili swap prostor u našem sustavu, omogućimo ga u sljedećem koraku.
Korak 4: Omogućivanje swap datoteke
Nakon što imamo na raspolaganju ispravnu veličinu, pretvorimo je u swap prostor. Iz sigurnosnih razloga, ključno je učiniti našu datoteku dostupnom root korisnicima i spriječiti pristup običnim korisnicima. Dodat ćemo ograničenja tako da korisnici s root privilegijama mogu vidjeti datoteku i čitati njezin sadržaj. Koristite sljedeću root naredbu kako bi datoteka bila dostupna samo root korisnicima:
|
1 |
sudo chmod 600 /swapfile |
Zatim koristite naredbu ls kako biste potvrdili promjene:
|
1 |
$ ls -lh /swapfile |
Kao što vidite, samo root korisnik ima omogućene zastavice za čitanje i pisanje:
Nakon toga označite datoteku kao swap prostor:
|
1 |
sudo mkswap /swapfile |
Vidjet ćete izlaz:
Nakon toga, omogućite swap datoteku i dopustite našem sustavu da je počne koristiti:
|
1 |
sudo swapon /swapfile |
Next, verify the swap availability:
|
1 |
$ sudo swapon --show |
Vidjet ćete izlaz:
Kao što smo učinili u Koraku 1, ponovno ćemo provjeriti free prostor alata još jednom:
|
1 |
free -h |
Vidjet ćete izlaz:
Naš swap je uspješno postavljen i naš operacijski sustav će ga početi koristiti po potrebi. U sljedećem koraku učinit ćemo swap datoteku trajnom.
Korak 5: Učinite swap datoteku trajnom
Prema zadanim postavkama, poslužitelj neće automatski zadržati postavke swap-a nakon ponovnog pokretanja. Kako bismo promijenili zadane postavke i igrali na sigurno, dodat ćemo swap datoteku u našu /etc/fstab datoteku. Koristite naredbu sudo za izradu sigurnosne kopije /etc/fstab datoteke:
|
1 |
sudo cp /etc/fstab /etc/fstab.bak |
Zatim dodajte informacije o swap datoteci na kraj svoje /etc/fstab datoteke upisivanjem:
|
1 |
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab |
Nakon toga, pregledajmo neke postavke i napravimo izmjene kako bismo mogli prilagoditi naš swap prostor.
Korak 6: Izmjena postavki swap-a
U ovom koraku konfigurirat ćemo postavke i napraviti neke izmjene. Prilagodimo svojstvo swappiness i promijenimo pritisak predmemorije.
-
Prilagodite svojstvo Swappiness
Parametar swappiness je prilagodljivi parametar jezgre. On mijenja ravnotežu između prebacivanja radne memorije u swap i objašnjava razmjenu podataka između prebacivanja podataka iz RAM-a u swap prostor. Ova parametarska vrijednost izražava se u postocima, u rasponu od 0 do 100.
Vrijednost vm.swappiness ima izravan utjecaj na ponašanje swappiness-a sustava. Što je veća vm.swappiness, to će sustav više koristiti swap i obrnuto. Ako je vrijednost blizu nule, jezgra neće prebacivati podatke u swap, što može dovesti do smanjenja performansi. Dopuštanje vašem sustavu da ne ovisi previše o swap-u izvrstan je način za poboljšanje njegovih performansi i postizanje bržeg odziva.
Alternativno, vrijednost vm.swappiness koja je bliža 100 pokušava staviti više podataka u swap, a manje u fizičku memoriju. Za razliku od niske do osrednje vrijednosti vm.swappiness, visoko korištenje swap-a sustava ima vrlo nepoželjne učinke kada se velike količine podataka aktivno prebacuju u RAM i iz njega.
Provjerite trenutnu vrijednost swappiness-a upisivanjem:
|
1 |
cat /proc/sys/vm/swappiness |
Vidjet ćete izlaz:
Također možete postaviti swappiness po svom izboru pomoću naredbe sysctl . Postavimo vrijednost swappiness-a na 15 upisivanjem:
|
1 |
sudo sysctl vm.swappiness = 15 |
Vidjet ćete izlaz:
Dok se sustav ponovno ne pokrene, postavke će ostati kakve jesu. Dodajte redak u našu /etc/sysctl.conf datoteku kako bi se vrijednost automatski postavila pri ponovnom pokretanju:
|
1 |
sudo nano /etc/sysctl.conf |
Na dno možete dodati sljedeći kod:
|
1 |
Vm.swappiness = 15 |
Zatim spremite i zatvorite datoteku.
-
Prilagodite pritisak predmemorije
Zatim ćemo izmijeniti vfs_cache_pressure što će se pobrinuti za inode i dentry informacije u odnosu na druge podatke. Ove vfs_cache_pressure postavke također kontroliraju tendenciju jezgre da vrati memoriju korištenu za predmemoriranje direktorija. Ponovno prođite kroz proc datotečni sustav kako biste provjerili trenutnu vrijednost:
|
1 |
cat /proc/sys/vm/vfs_cache_pressure |
Vidjet ćete izlaz:
Budući da je konfiguracija već dovršena, naš će sustav ukloniti informacije o inode-u iz predmemorije. Postavimo sysctl vm.vfs_cache_pressure na stabilniju postavku poput ove:
|
1 |
sudo sysctl vm.vfs_cache_pressure = 60 |
Vidjet ćete izlaz:
Slično onome što smo učinili u našoj postavci swappiness-a, konfiguraciju možemo promijeniti i ovdje:
|
1 |
sudo nano /etc/sysctl.conf |
Na dnu umetnite redak koji označava novu vrijednost koju ste stvorili:
|
1 |
Vm.vfs_cache_pressure = 60 |
Na kraju, spremite i zatvorite datoteku.
Zaključak
Možete dodati swap prostor kao namjensku swap particiju, swap datoteku ili kombinaciju obojega. Možete stvoriti swap prostor i iskoristiti njegove prednosti za neometano pokretanje aplikacija bez prevelike brige o upozorenjima o nedostatku memorije. Iako je stvaranje swap prostora dodatna prednost u sustavima s ograničenim memorijskim prostorom, ono se ne smije smatrati alternativom za više RAM memorije. Zapamtite, swap prostor se nalazi na tvrdom disku, stoga možete doživjeti nešto sporije vrijeme pristupa u usporedbi s fizičkom memorijom.
Evo još vodiča na našem blogu koji će vam pomoći da započnete s vašim Ubuntu poslužiteljima:
- Postavljanje NFS montiranja na Ubuntu 20.04
- Instalacija Nginxa na Ubuntu 18.04
- Konfiguriranje vatrozida s UFW-om na Ubuntu 18.04
Sretno s radom!










Komentari
Još nema komentara. Budite prvi.