swap розділ проти файл swap


47

Я читав нові зміни з Ubuntu 17.04, і один зачепився, який перейшов від типової моделі підкачування розділів до нової моделі файлів підкачки для нових установок.

Чи є переваги для використання цього на відміну від розділу swap, можливо, пов’язаного з продуктивності, економії місця, або відповідно до сучасного обладнання, таких як SSD та NVMe, або чогось іншого?

Ще одне пов'язане питання - як я можу перейти з розділу swap до файлу swap? Я здогадуюсь про використання dd, але хочу підтвердити, оскільки я до цього часу не знав про схему файлів підкачки.

І нарешті, чи буде сплячка проблемою із файлами своп?

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


Про відповідне запитання: askubuntu.com/questions/903414/… (якщо коли-небудь
отримають

digitalocean.com/community/tutorials/… - Я не можу сказати, що це змінило значення, я дійсно не можу. Система працює нормально, як і раніше (все одно рідко використовували своп).

Ось як додати swap у файл . У 17.04 це файл /swapfile. Гібернація може бути проблемою.
Таккат

muru @CelticWarrior Takkat дякую за посилання та інформацію, хлопці. Насправді дуже корисно. Якщо можливо, кельтські, якщо ви можете, будь-ласка, додайте конкретні відповіді сюди в AskUbuntu на всякий випадок. Для всіх, переконавшись, що відповіді актуальні (не 2012 рік, а фактично 2016-2017 рр., Коли почалася вся робота з файлом своп-файлів), допоможуть дуже багато і уникнути всього, що сталося за той період часу, який змінився.
Луїс Альварадо

1
Якщо у вас зашифрований корінний розділ, файл swap також шифрується автоматично. Не потрібно нічого особливого робити. Тож це вдосконалення для загального користувача, який може забути зашифрувати своп.
Маріс Б.

Відповіді:


34

Єдиною перевагою swapfile є те, що його легко змінити розмір, тому немає великого сенсу в переході, якщо ви не задоволені розміром свого розділу.

Традиційно свопфайли були відмовлені з кількох причин. Скіпний файл раніше був повільнішим перед Linux v2.4, і може все-таки повільніше, якщо ви створите свопфайл у фрагментованій файловій системі. Ви, можливо, трохи більше шансів натрапити на помилки пам’яті свопфілами, наприклад, уловлювачами 22, де ви не можете виділити більше пам’яті, поки не поміняєте якусь частину, але файлову систему потрібно виділити, перш ніж ви зможете її замінити. Кілька років тому сплячка до свопфілів була новою суперечливою ознакою з подібних причин. Роки тому, коли файлові системи ще були дещо гнучкими (а не зафіксованими), було нерозумно робити велику кількість записів важливих файлових систем, коли ви могли просто використовувати свопфайл. Як традиція за замовчуванням, swap-розділи були протестовані більше, ніж swapfiles. Імовірно, Canonical вважає, що ці проблеми більше не варто турбуватися.

Найбільшою причиною зараз не переходити на свопфайл, є "чому виправити щось, що не порушено". Якщо ви не /homeстворюєте резервну копію свого основного розділу та випадково видаляєте свій замість свого swapfile, це буде клопотом, намагаючись повернути його.

Ще одна причина не переходити на свопфіли - це те, якщо ви використовуєте, btrfsякий ще не підтримує свопфіли (за винятком файлів з повільним циклом)


Навіть якщо ви вирішите скористатися файлом свопінгу, видаляти свій розділ swap немає, якщо вам не вистачає місця. Ви можете використовувати обидва одночасно, якщо хочете. Якщо ви все-таки вирішите видалити розділ swap, перш за все завантажте програму Ubuntu LiveCD і перейдіть try without installing. Потім у термінальному виконанні gpartedвидаліть розділ swap та змініть розмір решти розділів (спочатку зробити резервну копію може бути хорошою ідеєю).

Тепер перезавантажтесь у звичайній установці Ubuntu та створіть свопфайл. Оскільки перевага swapfile полягає в тому, що його легко змінити, ви можете використовувати SwapSpace для управління розміром свого swapfile:

sudo apt install swapspace

Ви також можете створити свопфайл вручну, дотримуючись інструкцій за адресою: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

Щоб скоротити довгу історію, ви можете зробити 1G свопфайл, вставивши наступне в термінал

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

Якщо це працює, ви можете зробити його постійним:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Гммм цитати потрібні .... не впевнені в аргументі баггі файлових систем, як далеко ти йдеш ...? Що стосується улову 22, то oomkiller розібрав би це до певної міри - невелике виділення повинно було спричинити невеликі вбивства, і я був би здивований, якби заміна через fs не мала буфера для готовності до такої події ....
taifwa

5
Ще 10 років тому загальною порадою було помістити swap, / usr / home та / var на різні розділи, щоб, якщо один із них пошкодив себе, ви могли відновитись від інших. Це, мабуть, раніше було загальним. У файлових системах все ще є помилки, але, мабуть, параноїю краще витратити на створення резервних копій у місцях, коли викупники не можуть потрапити на неї.
gmatht

1
@taifwa Я додав посилання на btrfs FAQ, де вони не підтримують швидкий доступ до swapfile (тому що вони не впевнені, як реалізувати це без корупції), і зауважую, що найбільша причина не перемикатися - це не виправити те, що не не зламаний. Чи допомагає це?
gmatht

1
@gmatht Добре, що ти там все дуже добре висвітлив. Якщо ви знайдете будь-яку нову інформацію в наступні місяці / роки з файлами swap, повідомте про це, оновивши цю відповідь. Кудо і чудова робота.
Луїс Альварадо

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