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% /dev tmpfs 403M 41M 362M 11% /run tmpfs 1006M 336K 1005M 1% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1006M 0 1006M 0% /sys/fs/cgroup tmpfs 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 |