 Autor: [Adam Nadolny](/autorzy/adam-nadolny) Ekspert DevOps i infrastruktury · Zweryfikowano Kwiecień 2026

1.  [HostGrade.pl](/)
2.  [Baza wiedzy](/baza-wiedzy)
3.  Swap na VPS — konfiguracja

# Swap na VPS — konfiguracja, rozmiar i swappiness

Kategoria: [Serwer VPS](/baza-wiedzy) · Aktualizacja: Kwiecień 2026

## Co to jest swap i kiedy jest potrzebny?

**Swap** to przestrzeń na dysku używana jako "zapasowa pamięć RAM". Gdy system wyczerpuje fizyczny RAM, przenosi nieużywane strony pamięci do swapa, zwalniając RAM dla aktywnych procesów. Swap na dysku jest **10-100x wolniejszy** niż RAM — jest buforem bezpieczeństwa, nie rozwiązaniem problemu braku pamięci.

RAM

Zalecany swap

Uwagi

512 MB - 1 GB

1-2 GB

Małe VPS — swap ratuje przed OOM killer

2-4 GB

1-2 GB

Standardowe VPS — swap jako zabezpieczenie

8 GB+

0.5-1 GB lub brak

Duże serwery — swap może spowalniać DB

Powiązane tematy: [Docker na VPS](/baza-wiedzy/docker-na-vps), [logi serwera](/baza-wiedzy/logi-serwera-apache-nginx), [PHP-FPM pool](/baza-wiedzy/php-fpm-pool-konfiguracja-vps) oraz [Redis cache](/baza-wiedzy/redis-cache-wordpress). Porównaj serwery VPS na [stronie VPS](/vps).

## Sprawdzenie aktualnego stanu swap

```
# Sprawdź czy swap istnieje
swapon --show

# Użycie pamięci i swap
free -h

# Szczegółowe info
cat /proc/swaps
```

## Tworzenie pliku swap (zalecane dla VPS)

Plik swap jest elastyczniejszy niż dedykowana partycja — można go łatwo usunąć lub zmienić rozmiar. Na VPS z dyskiem SSD plik swap jest praktycznie równie wydajny jak partycja.

```
# Stwórz plik swap (2 GB)
sudo fallocate -l 2G /swapfile

# Ustaw uprawnienia (tylko root może czytać)
sudo chmod 600 /swapfile

# Sformatuj jako swap
sudo mkswap /swapfile

# Aktywuj swap
sudo swapon /swapfile

# Weryfikacja
swapon --show
```

### Trwała konfiguracja — /etc/fstab

```
# Dodaj do /etc/fstab żeby swap był aktywny po restarcie
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# Weryfikuj /etc/fstab
cat /etc/fstab
```

## Swappiness — kiedy system używa swap

Parametr **swappiness** (0-100) kontroluje jak agresywnie kernel używa swap:

-   **0** — kernel unika swap tak długo jak możliwe (tylko gdy absolutnie konieczne)
-   **10** — zalecane dla serwerów z bazami danych
-   **60** — domyślna wartość Linux (balans)
-   **100** — agresywne swapowanie

```
# Sprawdź aktualne swappiness
cat /proc/sys/vm/swappiness

# Zmień na 10 (tymczasowo)
sudo sysctl vm.swappiness=10

# Trwała zmiana (po restarcie)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```

**Rekomendacja:** Dla VPS z WordPress/PHP: `swappiness=10`. Dla serwerów z PostgreSQL/MySQL: `swappiness=1` — bazy danych bardzo cierpią na swap.

## VFS cache pressure — optymalizacja dla SSD

Parametr `vfs_cache_pressure` kontroluje jak agresywnie kernel zwalnia pamięć podręczną inodes i dentries (metadane systemu plików):

```
# Domyślnie 100 — kernel aktywnie zwalnia cache
# Dla SSD VPS — obniż do 50 (lepsza wydajność FS)
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```

## Monitorowanie użycia swap

```
# Live monitoring
watch -n 2 free -h

# Procesy używające swap
for file in /proc/*/status; do
    awk '/VmSwap|Name/ {printf $2 " "} END { print "" }' $file
done | sort -k 2 -n -r | head 10

# vmstat — statystyki swap (si = swap in, so = swap out)
vmstat 2 5

# iotop — I/O dysku (wysoki I/O + swap = problem)
sudo iotop -o
```

**Jeśli swap jest stale powyżej 50% użycia** — zwiększ RAM, a nie swap. Intensywne swapowanie (wysokie `so` w vmstat) oznacza że serwer jest przeciążony.

## Usunięcie i zmiana rozmiaru swap

```
# Dezaktywuj swap
sudo swapoff /swapfile

# Usuń plik
sudo rm /swapfile

# Usuń z /etc/fstab (edytuj ręcznie)
sudo nano /etc/fstab

# Stwórz nowy swap o innym rozmiarze (np. 4 GB)
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
```

## Swap na VPS z dyskiem HDD vs SSD

Na VPS z dyskiem **HDD**: swap jest bardzo wolny (~80-150 MB/s sequential). Intensywne swapowanie sprawia że serwer staje się praktycznie niedostępny. Minimalizuj swap i monitoruj zużycie RAM.

Na VPS z dyskiem **SSD NVMe**: swap jest znacznie szybszy (~1-3 GB/s sequential). Nadal wolniejszy niż RAM (~20-50 GB/s), ale akceptowalny dla rzadkich spiků użycia pamięci. Większość nowoczesnych VPS używa SSD — sprawdź specyfikację przed konfiguracją swap.

## Powiązane strony

-   [Docker na VPS](/baza-wiedzy/docker-na-vps)
-   [PHP-FPM pool — konfiguracja](/baza-wiedzy/php-fpm-pool-konfiguracja-vps)
-   [Redis cache WordPress](/baza-wiedzy/redis-cache-wordpress)
-   [Logi serwera — diagnostyka](/baza-wiedzy/logi-serwera-apache-nginx)
-   [Serwery VPS — porównanie](/vps)