Zpět na blog

Přidání swapu na Ubuntu 20.04: Návod

Přidání swapu na Ubuntu 20.04: Návod

Přidání odkládacího prostoru (swapu) na server je vynikající možností, jak kompenzovat chyby způsobené nedostatkem paměti. Linux umožňuje uživatelům přidat do systému odkládací prostor, když je operační paměť RAM plná. Vytvořením vyhrazeného diskového oddílu umožníte fyzické paměti hladký chod bez velkých obav z nedostatku místa na disku.

Přehled swapu

Odkládací prostor (swap) v Linuxu je součástí virtuální paměti počítače, která se používá, když dojde místo ve fyzické paměti. Zejména při práci s velkým programem nebo aplikací, kde vzniká potřeba další paměti, je swap ideální volbou pro dočasné uložení neaktivních stránek paměti. Vytvoření swapu umožňuje uživatelům ukládat data při spuštění velkých programů, a tím snižuje pády aplikací. To znamená, že pokud systém potřebuje více paměťových prostředků a paměť RAM je plná, všechny neaktivní stránky v paměti se přesunou do swapu a programy mohou běžet bez přerušení.

Jak velký swap potřebuji?

Velikost swapu závisí na několika faktorech. Patří mezi ně dostupná paměť RAM, zatížení systému a to, zda má systém podporovat funkci hibernace (uspání na disk). V tabulce níže naleznete doporučenou velikost swapu na základě dostupné paměti RAM:

Čís.

Dostupná paměť RAM

Doporučená velikost swapu

1.

1GB

1GB

2.

2GB

1GB

3.

3GB

2GB

4.

4GB

2GB

5.

5GB

2GB

6.

6GB

2GB

7.

8GB

3GB

V tomto návodu vás provedeme kroky pro přidání swapu v systému Ubuntu 20.04. Začněme!

Požadavky

Chcete-li postupovat podle tohoto návodu, budete potřebovat:

Krok 1: Kontrola informací o swapu

Velikost swapu závisí na paměti RAM systému. Před jeho vytvořením je proto nezbytné zkontrolovat dostupnost swapu ve vašem systému. Zadáním níže uvedeného příkazu zkontrolujte, zda má systém nakonfigurovaný nějaký swap:

Swap Space image 1

Zobrazený výstup znamená, že v systému je k dispozici prostor pro vytvoření swapu. Žádný výstup je však signálem, že pro přidání swapu není dostatek volného místa.

Použijte nástroj free k ověření, že není aktivní žádný swap:

Uvidíte výstup s nulovým řádkem pro swap:

Swap Space image 2

Krok 2: Kontrola dostupnosti diskového oddílu

Podobně jako při kontrole dostupnosti systému nyní zkontrolujme aktuální využití disku, abychom se ujistili, že máme dostatek místa. Použijte příkaz df ke kontrole dostupnosti diskového oddílu:

Zařízení s / ve sloupci Připojeno v je náš disk, který má 11% volného místa. Uvidíte výstup:

Swap Space image 3

Po kontrole požadavků systému pokročme dále a vytvořme swap soubor v našem souborovém systému.

Krok 3: Vytvoření swap souboru

Chcete-li vytvořit swap soubor v našem souborovém systému, přidělte název souboru jako swapfile v kořenovém (/) adresáři pomocí fallocate programu. Přidělení velikosti souboru závisí na vašich potřebách. Aby byl návod jednoduchý a srozumitelný, vytváříme 1G soubor a vyhrazujeme 1G RAM. Použijte příkaz sudo k vytvoření swap souboru:

Dále zadejte tento příkaz pro ověření vyhrazeného místa:

Uvidíte výstup:Swap Space image 3

Nyní, když jsme v systému vytvořili swap, pojďme jej v dalším kroku povolit.

Krok 4: Povolení swap souboru

Jakmile máme k dispozici správnou velikost, převeďme ji na swap. Z bezpečnostních důvodů je zásadní zpřístupnit náš soubor pouze uživatelům s oprávněním root a zabránit v přístupu běžným uživatelům. Přidáme omezení, aby soubor a jeho obsah mohli prohlížet pouze uživatelé s root oprávněními. Použijte následující root příkaz, aby byl soubor přístupný pouze uživatelům root :

Poté použijte příkaz ls k ověření změn:

Jak vidíte, pouze uživatel root má povoleny příznaky pro čtení a zápis:

Swap Space image 4

Poté označte soubor jako swap:

Uvidíte výstup:

Swap Space image 5

Poté povolte swap soubor a umožněte našemu systému jej začít používat:

Dále ověřte dostupnost swapu:

Uvidíte výstup:

Swap Space image 6

Stejně jako v Kroku 1, zkontrolujeme free prostor nástroje ještě jednou:

Uvidíte výstup:

Swap Space image 7

Náš swap byl úspěšně nastaven a náš operační systém jej začne podle potřeby používat. V dalším kroku nastavíme swap soubor jako trvalý.

Krok 5: Nastavení trvalého swap souboru

Ve výchozím nastavení server po restartu automaticky nezachová nastavení swapu. Chcete-li změnit výchozí nastavení a hrát na jistotu, přidáme swap soubor do našeho souboru /etc/fstab. Pomocí příkazu sudo zálohujte soubor /etc/fstab soubor:

Dále přidejte informace o swap souboru na konec vašeho souboru /etc/fstab zadáním:

Poté si projdeme některá nastavení a provedeme úpravy, abychom mohli náš swap prostor vyladit.

Krok 6: Úprava nastavení swapu

V tomto kroku nakonfigurujeme nastavení a provedeme několik úprav. Pojďme upravit vlastnost swappiness a změnit tlak na mezipaměť.

  • Upravte vlastnost Swappiness

Parametr swappiness je nastavitelný parametr jádra. Mění rovnováhu mezi odkládáním operační paměti a zajišťuje výměnu dat při odkládání dat z RAM do swap prostoru. Tato hodnota parametru je vyjádřena v procentech v rozsahu od 0 do 100.

Hodnota vm.swappiness má přímý vliv na chování swappiness systému. Čím vyšší je vm.swappiness, tím více bude systém swapovat a naopak. Pokud je hodnota blízká nule, jádro nebude data swapovat, což může vést ke snížení výkonu. Umožnit systému, aby nebyl příliš závislý na swapu, je vynikající způsob, jak zvýšit jeho výkon a dosáhnout rychlé odezvy.

Na druhou stranu, vm.swappiness blížící se 100 se snaží umístit více dat do swapu a méně do fyzické paměti. Na rozdíl od nízké až průměrné hodnoty vm.swappiness má vysoké swapování systému velmi nežádoucí účinky, pokud dochází k aktivnímu swapování velkého množství dat dovnitř a ven z RAM.

Zkontrolujte aktuální hodnotu swappiness zadáním:

Uvidíte výstup:

Swap Space image 8

Můžete také nastavit swappiness podle své volby pomocí příkazu sysctl. Nastavme hodnotu swappiness na 15 zadáním:

Uvidíte výstup:

output

Dokud nebude systém restartován, nastavení zůstane tak, jak je. Přidejte řádek do našeho souboru /etc/sysctl.conf pro automatické nastavení hodnoty při restartu:

Na konec můžete přidat následující kód:

code

Poté soubor uložte a zavřete.

  • Upravte tlak na mezipaměť (Cache Pressure)

Dále upravíme vfs_cache_pressure, což se postará o informace inode a dentry oproti jiným datům. Tato vfs_cache_pressure nastavení také řídí tendenci jádra uvolňovat paměť používanou pro ukládání adresářů do mezipaměti. Znovu přejděte do souborového systému proc a zkontrolujte aktuální hodnotu:

Uvidíte výstup:

output 2

Vzhledem k tomu, že konfigurace je již hotová, náš systém odstraní informace o inodech z mezipaměti. Nastavme sysctl vm.vfs_cache_pressure na stabilnější nastavení takto:

Uvidíte výstup:

Swap Space image 9

Podobně jako u nastavení swappiness můžeme konfiguraci změnit i zde:

Na konec vložte řádek s novou hodnotou, kterou jste vytvořili:

Swap Space image 10

Nakonec soubor uložte a zavřete.

Závěr

Odkládací prostor (swap) můžete přidat jako vyhrazený swapovací oddíl, swapovací soubor nebo kombinaci obojího. Můžete vytvořit swapovací prostor a využít jeho výhod k bezproblémovému spouštění aplikací bez velkých obav z varování o nedostatku paměti. I když je vytvoření swapovacího prostoru výhodou v systémech s omezeným množstvím paměti, nesmí být považováno za alternativu k větší paměti RAM. Nezapomeňte, že swapovací prostor se nachází na pevném disku, takže můžete zaznamenat o něco pomalejší přístupovou dobu ve srovnání s fyzickou pamětí.

Zde najdete další návody na našem blogu, které vám pomohou začít s vašimi servery Ubuntu:

Příjemnou práci!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.