Pereiti prie pagrindinio turinio

Swap atmintis. Kam ji naudojama?

SWAP atmintis naudojama RAM atminčiai papildyti, kai ši nebegali saugoti daugiau duomenų. Duomenys, kurių neįmanoma išsaugoti RAM atmintyje, tuomet perkeliami į SWAP atmintį. Šiame straipsnyje pateiksime pagrindinius veiksmus, kaip pakeisti ir padidinti SWAP atmintį mūsų Linux KVM serveriuose.

Apskritai egzistuoja įvairių nuomonių, kiek SWAP atminties turėtų turėti jūsų serveris. Ji gali sudaryti pusę RAM kiekio, būti tokio pat dydžio arba net didesnė už RAM.

SWAP atminties priskyrimas

Pirmiausia turėtumėte patikrinti, ar jūsų serveryje nenaudojama SWAP atmintis, naudodami šią komandą:

free -h

Rezultatai bus pateikti dviejose eilutėse: „Mem“ ir „Swap“, kurios nurodys tikslų RAM ir SWAP atminties kiekį KVM serveryje. Eilutėje „Swap“ turėtų būti tik nuliai.

Naudodami šią komandą priskirsime 6 GB disko vietos SWAP atminčiai:

fallocate -l 6G /swapfile

Galite patikrinti, ar SWAP atmintis buvo priskirta, naudodami šią komandą:

ls -lh /swapfile

Iš pradžių SWAP gali būti nepriskirta dėl netinkamų teisių, ir galite matyti tokį pranešimą:

-rw-r--r-- 1 root root 6.0G Dec 5 14:32 /swapfile

Tai reiškia, kad reikia atlikti papildomus pakeitimus — pirmiausia pakeisti „swapfile“ failo teises:

chmod 600 /swapfile

Po pakeitimo galite dar kartą patikrinti failo teises:

ls -lh /swapfile

Rezultatai turėtų atrodyti taip:

-rw------- 1 root root 6.0G Dec 5 14:36 /swapfile

Dabar nustatykite „swapfile“ kaip Linux SWAP:

mkswap /swapfile

Galiausiai įjunkite SWAP naudojimą:

swapon /swapfile

Dabar galime patikrinti, ar SWAP atmintis buvo tinkamai priskirta:

free -h

Rezultatuose vėl matysite dvi eilutes, tačiau šį kartą eilutėje „Swap“ bus rodoma 6 GB reikšmė.

Papildomi nustatymai

Paprastai SWAP atminties priskyrimas gali nustoti veikti po KVM serverio perkrovimo, todėl norint išsaugoti šiuos pakeitimus visam laikui, reikia pakoreguoti /etc/fstab failą. Tačiau pirmiausia rekomenduojame sukurti šio failo atsarginę kopiją:

cp /etc/fstab /etc/fstab.old

Kai atsarginė kopija sukurta, atlikite pakeitimus tikrajame faile:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Taip pat verta aptarti kelias papildomas SWAP atminties parinktis.

Parinktis „swappiness“

Parinktis swappiness nusako, kada sistema perkels duomenis į SWAP failą. Šios parinkties reikšmė gali būti nuo 0 iki 100.

  • Reikšmė arčiau 0 reiškia, kad duomenys bus perkeliami į SWAP tik tada, kai tai būtina.

  • Reikšmė arčiau 100 reiškia, kad duomenys į SWAP bus perkeliami dažniau, todėl RAM atmintis liks laisvesnė.

Rekomenduojame naudoti mažesnę reikšmę, pavyzdžiui, 10.

Dabartinę reikšmę galite patikrinti šia komanda:

cat /proc/sys/vm/swappiness

Parinktis „vfs_cache_pressure“

Parinktis vfs_cache_pressure nustato, kaip dažnai atnaujinama failų sistemos informacija. Pagal numatytuosius nustatymus reikšmė turėtų būti 100, tačiau rekomenduojame naudoti mažesnę reikšmę, pavyzdžiui, 50.

Dabartinę reikšmę galite patikrinti šia komanda:

cat /proc/sys/vm/vfs_cache_pressure

Abi papildomas parinktis galima redaguoti faile /etc/sysctl.conf.

Failo pabaigoje pridėkite šias eilutes:

vm.swappiness=10
vm.vfs_cache_pressure=50
Ar gavote atsakymą į savo klausimą?