Додати Swap до CentOS

swap

Додати Swap до CentOS/Fedora/RedHat

Перевіряємо наявність SWAP-а в CentOS/Fedora/RedHat

Перш ніж я почну, потрібно подивитися на зберігання сервера, щоб побачити, чи є підкачка. Щоб переглянути цю інформацію, можна виконати одне з нижчезазначених утиліт.

Через утиліту swapon:

Якщо нічого не повертається командою, то на сервері немає файлу для підкачування. У мене він є, я йому виділив 2Гб. Але припустимо, що мені цього мало і я хотів би збільшити його до 3-4Гб.

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

Ще один спосіб - це з утилітою htop/top:

Зручний для перевірки спосіб вибирайте самі.

Перевіряємо дискового простору та вільного місця у CentOS/Fedora/RedHat

SWAP використовує фал створений на вашому HDD, то необхідно знати скільки є вільного місця для даної операції. Я зазвичай використовую утиліту - df:

Як я бачу з висновку, місце є, і я зможу виділити 3Гб легко.

Створення файлу підкачки (SWAP) у CentOS/Fedora/RedHat

Я наведу 2 способи як можна створити цей файл для підкачування. Я зберігатиму свій файл підкачки в папці яку я створю:

Ви можете використати будь-яке інше місце.

—- СПОСІБ 1 — Це використання утиліти fallocate.

Найшвидший і найпростіший спосіб для створення файлу підкачки - використання fallocate. Ця команда створює файл із миттєвим розміром. Я виокремлю файл підкачки з 3 Гб, набравши:

Щоб перевірити, що сталося, виконайте:

Як ви можете бачити, файл підкачки був створений зправильним розміром.

—- СПОСІБ 2 — Це використання утиліти dd.

Визначте розмір нового файлу підкачки в мегабайтах (парметр "count") і помножити на 1024, щоб визначити кількість блоків. Наприклад, створюємо файл підкачки з 1Гб:

Також можна вказати створюваний блок не в мегабайтах, а в гігабайтах:

Я використав утиліту «time» для того, щоб показати, наскільки довго це займає часу.

Включаємо/підключаємо Swap в CentOS/Fedora/RedHat

Дивимося, що вийшло:

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

Наш файл підкачки тепер готовий до використання, але потрібно його включити:

Щоб переконатися, що все виконано правильно, можемо перевірити це:

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

За допомогою утиліти free, видно, що у мене своп вже не 2Гб (як було раніше), а вже 5Гб. Swap був успішно встановлений і ОС почне використовувати його за необхідності.

Щоб вимкнути його з ОС, використовуйте:

Він працюватиме до перезавантаження ОС.

Автоматичне монтування Swap у CentOS/Fedora/RedHat

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

У даному файлі необхідно додати рядок, який повідомить операційній системі автоматично використовувати файл підкачки, який ви створили:

Взаємодія SWAP з ОС. Перевірка та налаштування.

Є кілька варіантів, які ви можете налаштувати для кращої продуктивності вашої системи прироботи зі свопом.

Параметр swappiness визначає, як часто ваша система обмінюється даними з оперативної пам'яті підкачування. Цей параметр має діапазон від 0-100 і є відсотком.

При значеннях, близьких до нуля, ядро ​​не обмінюється даними на диск, якщо це абсолютно необхідно. Пам'ятайте, що взаємодія з файлом підкачки є «дорогими» в тому плані, що такі операції займають набагато більше часу, ніж взаємодія з оперативною пам'яттю, і тим самим можуть призвести до значного зниження продуктивності.

Значення, які знаходяться ближче до 100%, ядро ​​намагатиметься помістити більше даних у своп та звільнити RAM.

Щоб перевірити поточне значення swappiness, виконайте:

Оскільки я використовую віртуальну машину для тестів - установка swappiness в 60 - дає хороше значення, але для VPS бажано наблизити цей параметр в 0. І щоб змінити swappiness використовуйте команду SYSCTL.

Наприклад, щоб встановити swappiness в 10, виконаємо:

Цей параметр не збережеться до наступного перезавантаження і щоб він застосовувався при кожному запуску ОС автоматично, потрібно змінити (додавши рядок в) файл /etc/sysctl.conf:

У самому низу файлу прописуємо:

Зберігаємо та закриваємо файл.

Інший пов'язаний з цим значенням параметр, який ви можете захотіти змінити - vfs_cache_pressure, який налаштовує, як багато система буде вибирати кеш іноді і dentry в порівнянні з іншими даними.В основному, це доступ до даних про файлову систему і щоб подивитися поточне значення, виконайте:

Параметр встановлений на 100 і тим самим система видаляє інформацію інодам з кешу дуже швидко. Але якщо захочете зменшити, виконайте:

Це буде працювати тільки до завершення вашої сесії і ви можетезмінити його у файлі (як і раніше):

У самому низу проявляється рядок, який визначає ваше нове значення:

Як бачимо, все працює, і немає нічого складного.

Ось і все, тема «Додати Swap до CentOS/Fedora/RedHat» завершена.