
Swap je místo na disku, které se používá, když je množství fyzické paměti RAM plné. Když v systému Linux dojde RAM, neaktivní stránky se přesunou z RAM do odkládacího prostoru.
Odkládací prostor může mít formu buď vyhrazeného odkládacího oddílu nebo odkládacího souboru. Obecně při spuštění Ubuntu na virtuálním počítači není k dispozici odkládací oddíl a jedinou možností je vytvořit odkládací soubor.
Tento tutoriál popisuje kroky potřebné k přidání odkládacího souboru na systémy Ubuntu 18.04.
Než začnete #
Než budete pokračovat v tomto tutoriálu, zkontrolujte, zda vaše instalace Ubuntu již má povolený swap zadáním:
sudo swapon --show
Pokud je výstup prázdný, znamená to, že váš systém nemá povolený odkládací prostor.
V opačném případě, pokud získáte něco jako níže, již máte na svém počítači povolenou výměnu.
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 1.9G 0B -2
Ačkoli je to možné, není běžné mít na jednom počítači více odkládacích prostorů.
Vytvoření odkládacího souboru #
Uživatel, pod kterým jste přihlášeni, musí mít oprávnění sudo, aby mohl aktivovat swap. V tomto příkladu přidáme 1G
vyměnit. Pokud chcete přidat další swap, nahraďte 1G
s velikostí odkládacího prostoru, který potřebujete.
Chcete-li přidat odkládací prostor na Ubuntu 18.04, postupujte podle níže uvedených kroků.
-
Začněte vytvořením souboru, který bude použit pro swap:
sudo fallocate -l 1G /swapfile
Pokud
fallocate
není nainstalován nebo se zobrazí chybová zprávafallocate failed: Operation not supported
poté použijte následující příkaz k vytvoření odkládacího souboru:sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
-
Pouze uživatel root by měl být schopen zapisovat a číst odkládací soubor. Nastavte správná oprávnění zadáním:
sudo chmod 600 /swapfile
-
Použijte
mkswap
nástroj pro nastavení odkládací oblasti Linuxu v souboru:sudo mkswap /swapfile
-
Aktivujte odkládací soubor pomocí následujícího příkazu:
sudo swapon /swapfile
Chcete-li, aby byla změna trvalá, otevřete
/etc/fstab
soubor:sudo nano /etc/fstab
a vložte následující řádek:
/etc/fstab/swapfile swap swap defaults 0 0
-
Ověřte, že je swap aktivní, pomocí
swapon
nebofree
příkaz, jak je znázorněno níže:sudo swapon --show
NAME TYPE SIZE USED PRIO /swapfile file 1024M 507.4M -1
sudo free -h
total used free shared buff/cache available Mem: 488M 158M 83M 2.3M 246M 217M Swap: 1.0G 506M 517M
Úprava hodnoty swappiness #
Swappiness je vlastnost linuxového jádra, která definuje, jak často bude systém používat odkládací prostor. Swappiness může mít hodnotu mezi 0 a 100. Nízká hodnota přiměje jádro pokusit se vyhnout swapování, kdykoli je to možné, zatímco vyšší hodnota způsobí, že jádro bude využívat odkládací prostor agresivněji.
Výchozí hodnota swappiness je 60. Aktuální hodnotu swappiness můžete zkontrolovat zadáním následujícího příkazu:
cat /proc/sys/vm/swappiness
60
Zatímco hodnota swappiness 60 je pro většinu systémů Linux v pořádku, pro produkční servery možná budete muset nastavit nižší hodnotu.
Chcete-li například nastavit hodnotu swappiness na 10, spusťte:
sudo sysctl vm.swappiness=10
Chcete-li, aby tento parametr byl trvalý i po restartování, připojte následující řádek do souboru /etc/sysctl.conf
soubor:
vm.swappiness=10
Optimální hodnota swappiness závisí na zátěži vašeho systému a na způsobu využití paměti. Tento parametr byste měli upravovat po malých krocích, abyste našli optimální hodnotu.
Odebrání odkládacího souboru #
Chcete-li deaktivovat a odebrat odkládací soubor, postupujte takto:
-
Začněte deaktivací odkládacího prostoru zadáním:
sudo swapoff -v /swapfile
-
Dále odstraňte položku odkládacího souboru
/swapfile swap swap defaults 0 0
z/etc/fstab
soubor. -
Nakonec odstraňte aktuální soubor odkládacího souboru pomocí
rm
příkaz:sudo rm /swapfile