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í CentOS na virtuálním počítači obvykle není k dispozici odkládací oddíl, takže jedinou možností je vytvořit odkládací soubor.
Tento článek popisuje kroky pro přidání odkládacího souboru v systémech CentOS 8.
Vytvoření a aktivace odkládacího souboru #
Chcete-li přidat odkládací prostor v systému CentOS 8, proveďte následující kroky jako uživatel root nebo uživatel s právy sudo.
-
Začněte vytvořením souboru, který bude sloužit jako odkládací prostor:
sudo fallocate -l 1G /swapfile
V tomto příkladu vytváříme odkládací soubor o velikosti 1G. Pokud potřebujete další swap, nahraďte
1G
s požadovanou velikostí.Pokud
fallocate
nástroj není ve vašem systému dostupný nebo se vám zobrazí chybová zprávafallocate failed: Operation not supported
, použijtedd
příkaz k vytvoření odkládacího souboru:sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
-
Nastavte oprávnění k souboru tak, 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
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=0abdb8ba-57d6-4435-8fd8-5db9fc705045
-
Aktivujte swap provedením následujícího příkazu:
sudo swapon /swapfile
-
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
-
Udělejte změnu trvalou přidáním položky swap do
/etc/fstab
soubor:sudo nano /etc/fstab
Vložte následující řádek:
/etc/fstab/swapfile swap swap defaults 0 0
Ú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 8 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:
-
Deaktivujte odkládací prostor zadáním:
sudo swapoff -v /swapfile
-
Odeberte položku swap
/swapfile swap swap defaults 0 0
z/etc/fstab
soubor. -
Smažte aktuální soubor odkládacího souboru pomocí
rm
:sudo rm /swapfile