Swap faila izveide uz Linux VPS — soli pa solim
Palaist serverī ar vienu komandu (vispirms pārbaudiet skripta saturu zemāk):
curl -sSL https://cp.lv/scripts/nastrojka-swap-vps.sh | sudo bash…vai ar wget:
wget -qO- https://cp.lv/scripts/nastrojka-swap-vps.sh | sudo bashSkripta saturs nastrojka-swap-vps.sh:
#!/usr/bin/env bash
# 2 GB swap faila izveide + autoieslēgšanās caur fstab + swappiness
set -euo pipefail
SWAPFILE=/swapfile
SWAPSIZE=2G
# 1. Izveidot failu (fallocate, ja neizdodas — dd)
if ! sudo fallocate -l "$SWAPSIZE" "$SWAPFILE"; then
sudo dd if=/dev/zero of="$SWAPFILE" bs=1M count=2048
fi
sudo chmod 600 "$SWAPFILE"
# 2. Formatēt kā swap un ieslēgt
sudo mkswap "$SWAPFILE"
sudo swapon "$SWAPFILE"
# 3. Autoieslēgšanās caur fstab (tikai ja vēl nav ierakstīts)
if ! grep -q "^${SWAPFILE} " /etc/fstab; then
echo "${SWAPFILE} none swap sw 0 0" | sudo tee -a /etc/fstab
fi
# 4. swappiness=10 — uzreiz un turpmāk (heredoc failā sysctl.d)
sudo sysctl vm.swappiness=10
sudo tee /etc/sysctl.d/99-swappiness.conf > /dev/null << 'EOF'
vm.swappiness=10
EOF
sudo swapon --show
free -h
echo "Gatavs: 2 GB swap fails ir aktīvs, swappiness=10."
Swap ir fails vai sadaļa diskā, ko sistēma izmanto kā «rezerves» atmiņu, kad beidzas operatīvā. Uz VPS visvienkāršāk ir izveidot swap failu: komandas fallocate, mkswap un swapon aizņems pāris minūtes. Apskatīsim procesu un iestatījumus.
Kāpēc vajadzīgs swap
Swap neaizstāj operatīvo atmiņu (tas ir daudzkārt lēnāks), bet pasargā no procesu avārijas beigšanas maksimālās slodzes brīžos. Kodols izsūta swap failā reti izmantotās atmiņas lapas, atbrīvojot RAM aktīvajiem uzdevumiem. Īpaši noderīgi tarifos ar nelielu atmiņas apjomu.
1. solis. Pārbaudiet pašreizējo swap
sudo swapon --show
free -h
Ja swapon izvade ir tukša — swap vēl nav iestatīts.
2. solis. Izveidojiet swap failu
Izveidojiet vajadzīgā izmēra failu. Piemēram, 2 GB:
sudo fallocate -l 2G /swapfile
Ja fallocate nav pieejams, izmantojiet dd:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
Ierobežojiet tiesības, lai failu lasītu tikai root:
sudo chmod 600 /swapfile
3. solis. Formatējiet un ieslēdziet
Formatējiet failu kā swap un aktivizējiet:
sudo mkswap /swapfile
sudo swapon /swapfile
Pārbaudiet, vai swap ir parādījies:
sudo swapon --show
free -h
4. solis. Ieslēdziet autoieslēgšanos
Pagaidām swap darbojas tikai līdz pārstartēšanai. Lai tas pieslēgtos automātiski, pievienojiet ierakstu failā /etc/fstab:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Pārbaudiet, vai rinda pievienota korekti:
grep swapfile /etc/fstab
5. solis. Iestatiet swappiness
Parametrs vm.swappiness (0–100) nosaka, cik labprāt kodols izmanto swap. Serverī to parasti samazina līdz 10, lai swap tiktu iesaistīts tikai reāla RAM trūkuma gadījumā:
sudo sysctl vm.swappiness=10
Lai vērtība saglabātos pēc pārstartēšanas:
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf
Cik daudz swap veidot
| Operatīvā atmiņa | Ieteicamais swap |
|---|---|
| līdz 2 GB | vienāds ar RAM apjomu |
| 2–8 GB | vienāds ar RAM apjomu |
| vairāk par 8 GB | pietiek ar 2–4 GB |
Tas ir orientieris, nevis stingrs noteikums: datubāzei swap labāk turēt nelielu, lai izvairītos no veiktspējas krituma.
Kā izdzēst swap
Ja swap vairs nav vajadzīgs:
sudo swapoff /swapfile
sudo rm /swapfile
Pēc tam izdzēsiet attiecīgo rindu no /etc/fstab.
Biežāk uzdotie jautājumi
Vai swap palēninās servera darbu? Swap diskā ir desmitiem reižu lēnāks par RAM. Kamēr swap dati tiek izmantoti reti — ietekmes gandrīz nav. Pastāvīgs aktīvs darbs ar swap nozīmē atmiņas trūkumu — vērts pievienot RAM.
Swap fails vai swap sadaļa? Uz VPS ērtāks ir fails: to viegli izveidot, mainīt izmēru un dzēst bez diska pārdalīšanas. Sadaļa vajadzīga reti.
Kādu swappiness izvēlēties serverim? Parasti 10 — swap pieslēdzas tikai reāla atmiņas trūkuma gadījumā. Vērtība 60 (pēc noklusējuma) ir pārāk agresīva serveriem ar datubāzēm.
Vai var izveidot swap uz VPS ar SSD? Jā. Uz NVMe/SSD swap strādā ātrāk nekā uz HDD, bet joprojām lēnāk par RAM. No pastāvīgas intensīvas lietošanas labāk izvairīties, lai nenodilinātu disku.
Kopsavilkums
Swap fails ir vienkārša apdrošināšana pret atmiņas trūkumu zem slodzes. Izveidojiet to ar fallocate, ieslēdziet ar swapon, ierakstiet fstab un iestatiet swappiness=10. Ja swap tiek izmantots pastāvīgi — tas ir signāls pāriet uz tarifu ar lielāku RAM apjomu.
Vajag vairāk atmiņas? Izvēlieties tarifu sadaļā Linux VPS, noformējiet VPS nomu vai pasūtiet Serveru administrēšanu.