Динамічно зростаючий файл swap на Debian


10

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

Як створити своп, який має початковий розмір 0 і зростає на вимогу?


@Gilles: Мені просто цікаво - Чому ви редагували заголовок (окрім друку)? Чи не бажано тут бути повністю висловленими питаннями?
rubo77

1
Краще уникати марних слів, особливо на початку заголовку, де люди приділяють найбільшу увагу. Див. Як написати хорошу назву? . "Динамічно зростаючий своп" дає суттєву ідею. "Як створити" не починає вказувати, про що йдеться. Є люди, які вважають за краще задавати питання заголовків запитань, тому що це запитання, але це нерозумно: причина - це також назва відповідей.
Жил "ТАК - перестань бути злим"

Відповіді:


3

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

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

потім встановити CONF_SWAPFACTOR=2в /etc/dphys-swapfileі , нарешті ,

sudo service dphys-swapfile start

Це працює, але майте на увазі, що вам краще бути без свопів, див. Unix.stackexchange.com/a/136133/20661
rubo77

10

SwapSpace - це утиліта, яка створює "динамічний файл підкачки", який відповідно до вимог операційної системи змінює свій розмір.

Таким чином, ви навіть можете забути про створення віртуального файлу swap і просто встановити "SwapSpace", і він автоматично створить його для вас і навіть змінить його розмір при необхідності.

Ви також можете використовувати "Swapspace" поруч із створеним вручну файлом swap, і коли вручну заповнюється "Swapspace", автоматично буде створений ще один для ОС, тому в ОС завжди буде місце для обміну і це підвищує стабільність.

Ще одна корисна річ щодо "SwapSpace" полягає в тому, що коли це можливо, він зменшить розмір SwapSpace і "випустить" ці байти в файлову систему користувача, і, на думку розробників, це зменшення також сприяє підвищенню продуктивності файлів підкачки ( плюс ваш «дорогоцінний» простір на жорсткому диску теж не витрачається.

Встановити за допомогою

sudo apt-get install swapspace

І налаштуйте конфігураційний файл під свої потреби. Я встановив мінімум 0на моїй машині VM debian із лише 8 ГБ жорсткого диска


Крім того, я також встановив своєю простотою, щоб 0мінімізувати використання дорогоцінного місця на жорсткому диску на моєму VM:

Щоб змінити значення swappiness системи, відкрийте /etc/sysctl.confяк root. Потім змініть або додайте цей рядок у файл:

vm.swappiness = 0

(Перезавантажте, щоб зміни набрали чинності)


Це не підтримує swsusp / призупинення для заміни файлу, якщо тільки розмір створеного файлу swap вже не великий, щоб містити дамп RAM.
сойз

Тож як ми могли переконатися, що файл swap стає досить великим, щоб містити оперативної пам’яті?
rubo77

Запропонуйте одному файлу своп фіксованого розміру розмір оперативної пам’яті для призупинення, а потім використовуйте swapspace для своп динамічного розміру
Tom Hale

Це працювало для мене. Це дуже корисно для невеликих SSD-дисків.
Адріан Лопес

0

Для будь-якого розділу swap, який ви зробили, наприклад, за допомогою fdisk, Afaik, знадобиться простір, більший за 0, оскільки ви змінюєте простір з існуючого диска та перерозподіляєте його в інше місце.

У будь-якому випадку, відповідаючи на ваше запитання, ви можете легко зробити невеликий розділ, призначити його як swap під fdisk, а потім:

1) відключити заміну на swapoff -v 2) змінити розмір розділу з lvresize 3) відформатувати розділ за допомогою mkswap 4) повторно включити простір підкачки за допомогоюswapon -v

Згодом ви можете cat /proc/swapsперевірити, оновлено він чи ні. Ви можете легко використовувати це за сценарієм, залежно від специфікацій вашої системи, та запускати його на вимогу щоразу, коли вам потрібно збільшити обмінний простір. Щось на зразок:

$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1

1
Це не відповідає на питання, оскільки розмір свопу змінюється вручну, а не на вимогу. Крім того, зміна розміру LV не корисна: де ви знайдете простір для зростання? як звільнений простір при зменшенні не витрачається? Питання задається про файл swap, який вирішує проблему вільного місця - він доступний для інших файлів.
Жил "ТАК - перестань бути злим"

Зміна розміру свопу на вимогу - хороша ідея, але своппростір не охоплює сценарій використання лопатки, яка використовується для підтримки сплячки. Я вважаю, що ця відповідь може бути більш розумною для тих користувачів, які потребують підтримки в сплячому режимі. Поки, звичайно, не обробляються зручні місця.
сойз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.