SWAP - как создать, подключить, очистить и отключить файл подкачки в Linux
Как создать и подключить файл подкачки SWAP?
Для начала, нужно убедиться, что swap ещё не подключен:
swapon -s
Если команда выдала пустой результат или что-то навроде:
Filename Type Size Used Priority
— значит, своп, скорее всего отсутствует.
Дополнительно проверим командой:
free -m

Если в таблице в строке swap стоит 0, значит своп отсутствует.
Проверка наличия свободного места на диске
Теперь, надо проверить, сколько свободного места есть на диске:
df -h
В результате, мы увидим что-то подобное:
|
1
2
3
4
5
6
7
8
9
|
root@server:~# df -hФайловая система Размер Использовано Дост Использовано% Cмонтировано в/dev/vda1 30G 20G 9,0G 66% /udev 10M 0 10M 0% /devtmpfs 403M 41M 362M 11% /runtmpfs 1006M 336K 1005M 1% /dev/shmtmpfs 5,0M 0 5,0M 0% /run/locktmpfs 1006M 0 1006M 0% /sys/fs/cgrouptmpfs 1006M 492K 1005M 1% /tmp |
Как мы видим, доступно 9 гигабайт дискового пространства - вполне достаточно, чтобы создать своп-файл.
Создание файла SWAP
Допустим, мы хотим создать swap-файл размером 4 гигабайта.
Далее, здесь существует 2 подхода, традиционный медленный и новый быстрый:
Быстрый способ
Используем fallocate:
fallocate -l 4G /swapfile
Результатом будет пустая строка, это нормально.
В отличие от dd, результат будет получен почти сразу, и я рекомендую именно его.
Традиционный, медленный способ
Или используем команду:
dd if=/dev/zero of=/swapfile bs=1G count=4
Синтаксис команды простой:
- dd — команда предназначена для того, чтобы что-то куда-то копировать побайтово;
- if=/dev/zero — указывает на источник, т.е. на то, откуда копируем, в данном случае из /dev/zero — это специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов;
- of=/swapfile — указывает путь назначения, куда копируем данные;
- bs=1G — количество байт, которые будут записаны за раз. В нашем случае, 1 гигабайт. Обозначения:
G— гигабайт,M— мегабайт,K— килобайт, и так далее; - count=4 — сколько блоков размером с
bsбудет создано, в нашем случае 4.
Теперь, когда файл создан, проверим результат:
ls -lh /swapfile
В результате увидим:
-rw-r--r-- 1 root root 4.0G Jul 07 16:16 /swapfile
Как видим, файл создался верно и с нужным объёмом.
Как подключить SWAP файл
Для начала, ограничим права доступа к вновь созданному файлу.
|
1
|
chmod 600 /swapfile |
Проверим результат:
|
1
|
ls -lh /swapfile |
В результате, мы должны увидеть подобное:
-rw------- 1 root root 4.0G Jul 07 16:16 /swapfile
Права прописаны верно.
Теперь нужно сделать из swapfile файл подкачки:
|
1
|
mkswap /swapfile |
В результате, увидим примерно следующее:
Setting up swapspace version 1, size = 4193300 KiB
no label, UUID=e5f3e9cf-c1a9-4ed4-b8ab-711b6a7d6544
Теперь, файл готов в роли свопа. Подключим его к системе:
|
1
|
swapon /swapfile |
Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:
|
1
|
swapon -s |
