Как подключить swap на Ubuntu

  • Опубликовано:
  • Теги: ubuntu, swap
Внимание!

Если речь идет о VPS, то swap можно подключить только на Xen. В OpenVZ его нет в принципе.

Итак,

sudo swapon -s
Если своп не был установлен, но получим ответ
Filename                Type        Size    Used    Priority
Проверим память и свободное дисковое пространство:

free -m
             total       used       free     shared    buffers     cached
Mem:           495        489          6          0         77        101
-/+ buffers/cache:        311        184
Swap:            0          0          0
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         20G  4.6G   15G  25% /
udev            246M  4.0K  246M   1% /dev
tmpfs           100M  216K   99M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm

1. Если на диске достаточно места, то создаем своп-файл:

sudo fallocate -l 4G /swapfile
Как вариант можно воспользоваться утилитой dd, которая создаст файл свопа и заполнит его нулями, например:
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
Эта операция на несколько секунд медленнее, чем fallocate, которая мгновенно создает файл нужного размера, не заполняя его мусором. Проверяем его:
ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Mar 19 13:07 /swapfile

2. Устанавливаем права:

sudo chmod 600 /swapfile
ls -lh /swapfile
-rw------- 1 root root 4.0G Mar 19 13:07 /swapfile

3. Подключаем своп:

sudo mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=4e42d756-3389-4d4f-aec3-1e76d430307e
sudo swapon /swapfile
Проверяем своп:
sudo swapon -s
Filename    Type  Size Used Priority
/swapfile                               file  4194300 0 -1
И память:
free -m
             total       used       free     shared    buffers     cached
Mem:           495        276        219          0         10         33
-/+ buffers/cache:        233        262
Swap:         4095          0       4095
Теперь можно установить все, что было нужно. Что касается свопа, то после перезагрузки он исчезнет.

4.a Если хотите удалить своп без перезагрузки, можно сделать так:

sudo swapoff -v /swapfile
sudo rm /swapfile

4.b Если нужно, чтобы своп остался и после перезагрузки, редактируем файл /etc/fstab:

sudo nano /etc/fstab
В конец файла добавляем:
/swapfile   none    swap    sw    0   0

Только команды отдельно:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
free -m