
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. Ve většině případů při spuštění CentOS na virtuálním počítači není odkládací oddíl přítomen, takže jedinou možností je vytvořit odkládací soubor.
Tento tutoriál vysvětluje, jak přidat odkládací soubor v systémech CentOS 7.
Než začnete #
Než budete pokračovat v tomto tutoriálu, zkontrolujte, zda vaše instalace CentOS 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/dm-1 partition 1.5G 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
swapu, 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 v systému CentOS 7, postupujte podle následujících kroků.
-
Nejprve vytvořte soubor, který bude použit jako odkládací prostor:
sudo fallocate -l 1G /swapfile
Pokud
fallocate
nástroj není ve vašem systému dostupný nebo se vám zobrazí chybová zprávafallocate failed: Operation not supported
, použijte k vytvoření odkládacího souboru následující příkaz:sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
-
Nastavením správných oprávnění zajistěte, aby pouze uživatel root mohl číst a zapisovat odkládací soubor:
sudo chmod 600 /swapfile
-
Dále v souboru nastavte odkládací oblast Linuxu:
sudo mkswap /swapfile
-
Spuštěním následujícího příkazu aktivujte swap:
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
-
Ověřte, že je swap aktivní, pomocí
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 na CentOS 7 je 30. Aktuální hodnotu swappiness můžete zkontrolovat zadáním následujícího příkazu:
cat /proc/sys/vm/swappiness
30
Zatímco hodnota swappiness 30 je v pořádku pro stolní počítače a vývojové stroje, 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ý 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 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 smažte aktuální soubor odkládacího souboru pomocí
rm
:sudo rm /swapfile