Swap je místo na disku, které se používá, když je množství fyzické paměti 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 vás provede kroky přidání odkládacího souboru na Debian 10 Buster.
Než začnete #
Ačkoli je to možné, není běžné mít na jednom počítači více odkládacích prostorů. Chcete-li zkontrolovat, zda vaše instalace Debianu již má povolený swap, spusťte následující příkaz:
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 systému Debian povolenou výměnu.
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 4G 0B -1
Pro aktivaci swapu musí mít uživatel spouštějící příkazy oprávnění sudo.
Vytvoření odkládacího souboru #
V tomto příkladu vytvoříme a aktivujeme 1G
swap. Chcete-li vytvořit větší swap, nahraďte 1G
s velikostí požadovaného odkládacího prostoru.
Níže uvedené kroky ukazují, jak přidat odkládací prostor v Debianu 10.
-
Nejprve vytvořte soubor, 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
k vytvoření odkládacího souboru můžete použít následující příkaz: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:
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, zda 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 pomocí cat
příkaz:
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 byste měli 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:
-
Deaktivujte odkládací prostor spuštěním:
sudo swapoff -v /swapfile
-
Otevřete
/etc/fstab
soubor pomocí textového editoru a odstraňte položku odkládacího souboru/swapfile swap swap defaults 0 0
. -
Nakonec odstraňte aktuální soubor odkládacího souboru pomocí
rm
příkaz:sudo rm /swapfile