Як створити файл підкачки в Linux

У цій статті ми поговоримо про файли Swap і як створити простір підкачки у Linux за допомогою файлу підкачки.

Але перш ніж ми почнемо, нам потрібно з'ясувати, що таке обмін. Swap є зарезервованим дисковим простором, який використовується як місце, де ОС може тимчасово зберігати дані, коли фізична оперативна пам'ять заповнена або близька до повної. Іншими словами, swap є зарезервованою віртуальною пам'яттю на диску. Зазвичай, swap використовується для покращення та підтримки продуктивності системи, коли ми маємо справу з деякими важкими завданнями з ресурсами.

Всякий раз, коли системі потрібно більше пам'яті для створення нових процесів, ядро ​​перемістить деякі процеси, які неактивні, до розділу підкачки, щоб він міг звільнити місце для активних процесів.
Зверніть увагу, що підкачка зазвичай рекомендується для систем, які використовують традиційні обертові жорсткі диски. Якщо ваша система використовує swap з SSD або NVMe диск, це може викликати проблеми з апаратною деградації з плином часу.

1. Перевірка системи для інформації про заміну

Перш ніж створювати простір підкачки, перевірятиметься, чи на сервері вже був встановлений будь-який файл підкачки або розділ. Нам дозволено мати більше одного підкачки, але в більшості випадків один обмін повинен бути більш ніж достатнім.

За допомогою наведеної нижче команди можна перевірити, чи існує на сервері вже налаштований файл підкачки або розділ:

sudo swapon - шоу

Якщо виводу немає, це означає, що на вашому сервері наразі не встановлено підкачки.

Щоб переконатися, що ваш сервер не використовує swap, можна використовувати "вільний" команда:

вільний-х

Вихід повинен бути подібним до цього:

              загальна кількість використаних вільних спільних бафф / кеш доступних Mem: 985M 228M 579M 5.5M 177M 618M Обмін: 0B 0B 0B

З виходу ми бачимо, що рядок “Swap” є нульовим, що означає, що на сервері немає активного підкачки. Однак у нашому прикладі ми створимо файл підкачки, який буде розташований на вже існуючому розділі.

2. Створити заміну

Зазвичай виділений простір для підкачки використовується як окремий розділ. Перш ніж створити файл підкачки, краще перевірити використання диска:

дф-х

Вихід повинен бути подібним до цього:

463M 0M 463% 0G 99% / tmpfs / run / lock tmpfs 3.7M 95 4M 1% / sys / fs / cgroup tmpfs 19M 2.2 16M 13% / run / user / 493

На нашому сервері ми бачимо, що на нашому сервері є 16 GB доступного простору (2.2 GB використовується), якого достатньо для створення файлу підкачки.

Тепер, коли ми знаємо, що у нас є доступний простір для зберігання, ми створимо файл з назвою swap_file, який буде мати розмір 2GB і буде розташований у каталозі / mnt. За допомогою наведеної нижче команди ми створимо фактичний файл підкачки:

sudo fallocate -l 2G / mnt / swap_file

Ми також можемо використовувати команду dd у випадку, якщо на сервері не встановлено fallocate:

sudo dd, якщо = / dev / zero = / mnt / swap_file bs = кількість 1024 = 2097152

Де bs = 1024 означає виділити байти 1024 одночасно для читання і запису count = 2048 означає виділити 1024 байтів 2048 разів, створюючи файл 2GB.

При створенні файлу підкачки можна перевірити, чи зберігається правильний розмір простору:

ls -lh / mnt / swap_file

Вихід повинен бути подібним до цього:

-rw-r - r-- корінний корінь 1 2.0G Nov 24 10: 32 / mnt / swap_file

З результату виведення ми бачимо, що файл підкачки був створений за допомогою 2GB пам'яті.

3. Увімкнути заміну

Тепер, коли у нас є доступний файл підкачки, нам необхідно його використати і перетворити на фактичний простір підкачки.

Першим кроком буде блокування дозволів swap_file так, щоб вони могли читатися тільки користувачами з привілеями root. Ми можемо зробити це, ввівши:

sudo chmod 600 / mnt / swap_file

Тепер вкажіть файл, щоб ми могли перевірити його дозволи.

ls -lh / mnt / swap_file

вихід:

-rw ------- Кореневий корінь 1 2.0G Nov 24 10: 33 / mnt / swap_file

З наведеного вище висновку, ми бачимо, що тільки кореневий користувач має прапори читання і запису включені.

Наступний крок - позначити файл як підкачку.

sudo mkswap / mnt / swap_file

вихід:

Налаштування swapspace версії 1, size = 2 GiB (2147479552 байт) без позначки, UUID = c569dd4f-ffd9-4192-93dd-f6a470025d76

Після позначення файлу ми можемо активувати файл підкачки і дозволити серверу почати його використовувати:

sudo swapon / mnt / swap_file

Ми можемо перевірити, чи доступний файл підкачки наступною командою:

Судо Swapon-S

вихід:

Назва файлу Тип розміру Використовується пріоритет / mnt / swap_file файл 2097148 0 -2

Ми можемо знову перевірити вивід команди "free" для підтвердження:

вільний-х

вихід:

              загальна кількість використаних вільних спільних бафф / кеш доступних Mem: 985M 228M 64M 5.5M 691M 608M Обмін: 2.0G 0B 2.0G

З наведених вище результатів ми бачимо, що підкачка була успішно налаштована.

4. Зробити постійний файл підкачки

З наведеними вище змінами ми створили файл підкачки, але він тимчасовий і дійсний лише до наступного завантаження сервера. Якщо ми перезавантажимо систему, сервер не збереже створені вами зміни. Щоб змінити це, нам потрібно відредагувати файл / etc / fstab і додати в нього файл підкачки.

Перед створенням будь-яких змін слід створити резервну копію файлу / etc / fstab.

sudo cp / etc / fstab / etc / fstab_bak

Тепер ви можете редагувати файл / etc / fstab за допомогою вибраного текстового редактора (у цьому випадку ми будемо використовувати nano)

Судо нано / і т.д. / Fstab

і додайте до нього наступний рядок:

/ mnt / swap_file swap підстави за замовчуванням 0 0

Зберегти та закрити файл.

5. Як видалити файл підкачки

У останній частині цієї статті ми покажемо, як вимкнути та видалити файл підкачки.

Ми можемо деактивувати файл підкачки за допомогою цієї команди:

sudo swapoff -v / mnt / swap_file

вихід:

swapoff / mnt / swap_file

Потім відредагуйте файл / etc / fstab і видаліть файл підкачки, видаливши або прокоментувавши рядок:

/ mnt / swap_file swap підстави за замовчуванням 0 0

Зрештою, за бажанням можна видалити фактичний файл підкачки:

sudo rm -rf / mnt / swap_file

Використовуючи ці дії, ми повністю видалили файл підкачки з нашого сервера.

Висновок

У цій статті ми дізналися, як перевірити, чи увімкнено swap на нашому сервері, як створити файл підкачки, як включити swap, як зробити файл swap постійним і як вимкнути та видалити файл підкачки з нашого сервера.

Іноді простір підкачки може бути дуже корисним, але якщо ваш сервер працює з помилками OOM (без пам'яті), найкращим рішенням є оновлення сервера на більш високий хостинг.

Оригінал статті

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.