Pridanie swapovacieho priestoru na váš server je vynikajúcou možnosťou, ako kompenzovať chyby spôsobené nedostatkom pamäte. Linux umožňuje používateľom pridať swapovací priestor do ich systému, keď je množstvo pamäte RAM v systéme plné. Keď vytvoríte vyhradený oddiel priestoru, umožníte vašej fyzickej pamäti bežať hladko bez veľkých obáv z nedostatku miesta na disku.
Prehľad swapu
Swapovací priestor v Linuxe je súčasťou virtuálnej pamäte používanej vtedy, keď sa minie miesto vo fyzickej pamäti. Najmä pri práci s veľkým programom alebo aplikáciou, kde vzniká potreba dodatočnej pamäte, je swapovací priestor ideálnou voľbou na dočasné uloženie neaktívnych stránok pamäte. Vytvorenie swapovacieho priestoru umožňuje používateľom ukladať dáta, keď bežia veľké programy, a tým znižuje pády aplikácií. To znamená, že ak systém potrebuje viac pamäťových prostriedkov a pamäť RAM je plná, všetky neaktívne stránky v pamäti sa presunú do swapovacieho priestoru a programy môžu bežať bez prerušenia.
Aké množstvo swapu potrebujem?
Množstvo swapovacieho priestoru závisí od viacerých faktorov. Patrí medzi ne dostupná pamäť RAM, zaťaženie systému a to, či sa od systému vyžaduje podpora funkcie hibernácie (suspend-to-disk). Pozrite si tabuľku nižšie, kde nájdete odporúčaný swapovací priestor na základe miesta dostupného v pamäti RAM:
|
Por. č. |
Dostupný priestor RAM |
Odporúčaný swapovací priestor |
|
1. |
1GB |
1GB |
|
2. |
2GB |
1GB |
|
3. |
3GB |
2GB |
|
4. |
4GB |
2GB |
|
5. |
5GB |
2GB |
|
6. |
6GB |
2GB |
|
7. |
8GB |
3GB |
V tomto návode vás prevedieme krokmi pridania swapovacieho priestoru v systéme Ubuntu 20.04. Začnime!
Požiadavky
Na sledovanie tohto návodu budete potrebovať:
- nainštalované Ubuntu vo vašom systéme.
- Non-root používateľské konto s privilégiami sudo vo vašom počítači.
Krok 1: Kontrola informácií o swape
Veľkosť swapovacieho priestoru závisí od pamäte RAM systému. Preto je pred jeho vytvorením nevyhnutné skontrolovať dostupnosť swapovacieho priestoru vo vašom systéme. Zadajte nižšie uvedený príkaz, aby ste skontrolovali, či má systém nakonfigurovaný nejaký swap:
|
1 |
$ sudo swapon --show |
Zobrazený výstup znamená, že vo vašom systéme je k dispozícii priestor na vytvorenie swapovacieho priestoru. Žiadny výstup je však signálom, ktorý naznačuje, že nie je dostatok voľného miesta na pridanie swapovacieho priestoru.
Použite nástroj free na overenie, že neexistuje žiadny aktívny swap:
|
1 |
$ free -h |
Výstup uvidíte ako prázdny riadok swapu:
Krok 2: Kontrola dostupnosti oddielu pevného disku
Podobne ako pri kontrole dostupnosti systému, teraz skontrolujme naše aktuálne využitie disku, aby sme sa uistili, že máme dostatok miesta. Použite príkaz df na kontrolu dostupnosti oddielu pevného disku:
|
1 |
df -h |
Zariadenie s / v stĺpci Mounted on je náš disk, ktorý je 11% voľný. Uvidíte výstup:
Po kontrole požiadaviek systému prejdime ďalej a vytvorme swapovací súbor v našom súborovom systéme.
Step 3: Create a Swap File
Ak chcete vytvoriť swapovací súbor v našom súborovom systéme, priraďte názov súboru ako swapfile v koreňovom adresári (/) pomocou programu fallocate. Pridelenie veľkosti súboru závisí od vašich potrieb. Aby bol návod jednoduchý a ľahko pochopiteľný, vytvoríme súbor s veľkosťou 1G a vyhradíme 1G pamäte RAM. Použite príkaz sudo na vytvorenie swapovacieho súboru:
|
1 |
sudo fallocate -l 1G /swapfile |
Potom zadajte tento príkaz na overenie vyhradeného priestoru:
|
1 |
$ ls -lh /swapfile |
Teraz, keď sme v našom systéme vytvorili swapovací priestor, povoľme ho v ďalšom kroku.
Krok 4: Povolenie swapovacieho súboru
Keď máme k dispozícii správnu veľkosť, premeňme ju na swapovací priestor. Z bezpečnostných dôvodov je dôležité, aby bol náš súbor prístupný pre používateľov s oprávneniami root a aby sa zabránilo prístupu bežných používateľov. Pridáme obmedzenia, aby používatelia s oprávneniami root mohli súbor prezerať a čítať jeho obsah. Použite nasledujúci príkaz root na to, aby bol súbor prístupný iba pre root používateľov:
|
1 |
sudo chmod 600 /swapfile |
Potom použite príkaz ls na overenie zmien:
|
1 |
$ ls -lh /swapfile |
Ako môžete vidieť, iba root používateľ má povolené príznaky na čítanie a zápis:
Potom označte súbor ako swapovací priestor:
|
1 |
sudo mkswap /swapfile |
Uvidíte výstup:
Potom povoľte swapovací súbor a dovoľte nášmu systému začať ho používať:
|
1 |
sudo swapon /swapfile |
Ďalej overte dostupnosť swapu:
|
1 |
$ sudo swapon --show |
Uvidíte výstup:
Tak ako v Kroku 1, znova skontrolujeme priestor utility free ešte raz:
|
1 |
free -h |
Uvidíte výstup:
Náš swap bol úspešne nastavený a náš operačný systém ho začne podľa potreby používať. V ďalšom kroku urobíme swapovací súbor trvalým.
Krok 5: Nastavenie trvalého swapovacieho súboru
V predvolenom nastavení server po reštarte automaticky nezachová nastavenia swapu. Ak chcete zmeniť predvolené nastavenia a hrať na istotu, pridáme swapovací súbor do nášho /etc/fstab súboru. Použite príkaz sudo na zálohovanie /etc/fstab súboru:
|
1 |
sudo cp /etc/fstab /etc/fstab.bak |
Ďalej pridajte informácie o swapovacom súbore na koniec vášho /etc/fstab súboru zadaním:
|
1 |
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab |
Potom si prejdime niektoré nastavenia a vykonajme úpravy, aby sme mohli vyladiť náš swapovací priestor.
Krok 6: Úprava nastavení swapu
V tomto kroku nakonfigurujeme nastavenia a vykonáme niekoľko úprav. Upravme vlastnosť swappiness a zmeňme tlak na vyrovnávaciu pamäť (cache pressure).
-
Úprava vlastnosti Swappiness
Parameter swappiness je laditeľný parameter jadra. Mení rovnováhu medzi presúvaním operačnej pamäte do swapu a zohľadňuje výmenu dát medzi presunom dát z RAM do swapovacieho priestoru. Táto hodnota parametra sa vyjadruje v percentách, v rozsahu od 0 do 100.
Hodnota vm.swappiness má priamy vplyv na správanie systémovej swappiness. Čím vyššia je vm.swappiness, tým viac bude systém swapovať a naopak. Ak je hodnota blízka nule, jadro nebude swapovať dáta, čo môže viesť k zníženiu výkonu. Umožniť vášmu systému, aby sa príliš nespoliehal na swap, je vynikajúci spôsob, ako zvýšiť jeho výkon a získať rýchlu odozvu.
Na druhej strane, vm.swappiness ktorá sa blíži k 100, sa snaží umiestniť viac dát do swapu a menej do fyzickej pamäte. Na rozdiel od nízkej až strednej hodnoty vm.swappiness, má vysoké swapovanie systému veľmi nežiaduce účinky, keď sa aktívne swapuje veľké množstvo dát do a z RAM.
Skontrolujte aktuálnu hodnotu swappiness zadaním:
|
1 |
cat /proc/sys/vm/swappiness |
Uvidíte výstup:
Môžete tiež nastaviť swappiness podľa vlastného výberu pomocou príkazu sysctl . Nastavme hodnotu swappiness na 15 zadaním:
|
1 |
sudo sysctl vm.swappiness = 15 |
Uvidíte výstup:
Kým sa systém nereštartuje, nastavenia zostanú nezmenené. Pridajte riadok do nášho /etc/sysctl.conf súboru, aby sa hodnota nastavila automaticky pri reštarte:
|
1 |
sudo nano /etc/sysctl.conf |
Na spodok môžete pridať nasledujúci kód:
|
1 |
Vm.swappiness = 15 |
Potom súbor uložte a zatvorte.
-
Úprava tlaku na vyrovnávaciu pamäť (Cache Pressure)
Ďalej upravíme vfs_cache_pressure , čo sa postará o informácie inode a dentry pred ostatnými dátami. Tieto vfs_cache_pressure nastavenia tiež riadia tendenciu jadra uvoľňovať pamäť používanú na ukladanie adresárov do vyrovnávacej pamäte. Znova prejdite do súborového systému proc a skontrolujte aktuálnu hodnotu:
|
1 |
cat /proc/sys/vm/vfs_cache_pressure |
Uvidíte výstup:
Keďže konfigurácia je už hotová, náš systém odstráni informácie o inode z vyrovnávacej pamäte. Nastavme sysctl vm.vfs_cache_pressure na stabilnejšie nastavenie takto:
|
1 |
sudo sysctl vm.vfs_cache_pressure = 60 |
Uvidíte výstup:
Podobne ako pri nastavení swappiness, môžeme zmeniť konfiguráciu aj tu:
|
1 |
sudo nano /etc/sysctl.conf |
Na spodok vložte riadok s novou hodnotou, ktorú ste vytvorili:
|
1 |
Vm.vfs_cache_pressure = 60 |
Nakoniec súbor uložte a zatvorte.
Záver
Swap priestor môžete pridať ako vyhradený swap oddiel, swap súbor alebo kombináciu oboch. Môžete vytvoriť swap priestor a využiť jeho výhody na bezproblémové spúšťanie aplikácií bez veľkých obáv z varovaní o nedostatku pamäte. Hoci vytvorenie swap priestoru je výhodou v systémoch s obmedzenou pamäťou, nesmie sa považovať za alternatívu k väčšej pamäti RAM. Pamätajte, že swap priestor sa nachádza na pevnom disku, preto môžete zaznamenať o niečo pomalší prístupový čas v porovnaní s fyzickou pamäťou.
Tu sú ďalšie návody na našom blogu, ktoré vám pomôžu začať s vašimi servermi Ubuntu:
- Nastavenie pripojenia NFS na Ubuntu 20.04
- Inštalácia Nginx na Ubuntu 18.04
- Konfigurácia firewallu pomocou UFW na Ubuntu 18.04
Príjemnú prácu s počítačom!










Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.