
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. Při spuštění virtuálního počítače Debianu obvykle není k dispozici odkládací oddíl, takže 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 Debian 9.
Než začnete #
Než budete pokračovat v tomto tutoriálu, zkontrolujte, zda vaše instalace Debianu již má povolený swap zadáním:
sudo swapon --show
Pokud je výstup prázdný, znamená to, že systém nemá 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 4G 0B -1
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 této příručce přidáme 1G
swap, pokud chcete vytvořit větší swap, nahraďte 1G
s velikostí odkládacího prostoru, který potřebujete.
Níže uvedené kroky ukazují, jak přidat odkládací prostor v Debianu 9.
-
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 číst a zapisovat do odkládacího souboru. Chcete-li nastavit správná oprávnění, zadejte níže uvedený příkaz:
sudo chmod 600 /swapfile
-
Použijte
mkswap
nástroj pro nastavení odkládací oblasti Linuxu v souboru:sudo mkswap /swapfile
-
Aktivujte odkládací soubor zadáním:
sudo swapon /swapfile
Udělejte změnu trvalou otevřením
/etc/fstab
soubor:sudo nano /etc/fstab
a vložte následující řádek:
/etc/fstab/swapfile swap swap defaults 0 0
-
Chcete-li ověřit, zda je swap aktivní, použijte buď
swapon
nebofree
příkazy uvedené 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, zadejte:
sudo sysctl vm.swappiness=10
Chcete-li, aby tento parametr byl trvalý i po restartování, připojte následující řádek do /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 odstranit odkládací soubor, proveďte následující kroky:
-
Nejprve deaktivujte odkládací prostor 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:
sudo rm /swapfile