Linux SWAP
⏳ Doba čtení: ~3 min (401 slov)Po čisté instalaci Ubuntu se mi vytvořil jen 4GB swap soubor, což je v součastnosti s 16GB RAM málo. Když se systémová pamět naplní, tak data sice začnou přetékat do SWAPu, ale chvíli na to přeteče i SWAP a systém se “zasekne” OOM (Out Of Memory) Killer.
V moderních distribucích (Ubuntu 22.04+) se už většinou nepoužívá swap oddíl (partition), ale swap file. Rozhodl jsem se ho zvětšit na 24 GB a postup je poměrěn přímočarý.
Postup pro zvětšení Swap File (přes terminál)
Tento postup přepíše stávající swap soubor novým o velikosti 24 GB.
- Vypneme stávající swap:
sudo swapoff -a
[!note] Můžete v HTOPu vidět jak swap mizí.
- Vytvoříme nový prázdný soubor (24 GB):
sudo fallocate -l 24G /swap.img
(Alokace chvíli potrvá, fallocate je ale bleskový)
[!tip] Pokud
fallocateselže (např. na souborovém systému btrfs), lze použij starší cestu:sudo dd if=/dev/zero of=/swap.img bs=1G count=24
- Nastavíme správná oprávnění (bezpečnost především):
sudo chmod 600 /swap.img
- Naformátujeme soubor jako swap:
sudo mkswap /swap.img
- Aktivujeme ho:
sudo swapon /swap.img
- Zkontroluj výsledek:
free -h
# nebo
swapon --show
Trvalé nastavení po restartu
Ujistíme se, že je v souboru /etc/fstab správný řádek. Zobrazte:
sudo cat /etc/fstab
Najdete řádek se swapem a zkontrolute že vypadá takto:
/swap.img none swap sw 0 0
Sysadmin tip: Ladění “Swappiness”
Když už budete mít takhle velký swap na NVMe disku, můžete chtít ovlivnit, jak moc se do něj systému chce.
- Podívejte se na aktuální hodnotu:
cat /proc/sys/vm/swappiness(výchozí bývá 60). - Pokud chcete, aby Linux využíval swap až v krajní nouzi a šetřil RAM pro aplikace, nastav hodnotu na 10:
sudo sysctl vm.swappiness=10 - Pro trvalou změnu přidejte
vm.swappiness=10do/etc/sysctl.conf.
S 24 GB swapu už by se systém neměl “kousnout”, jen se v extrémní zátěži trochu zpomalí, až začne odkládat data na disk.