Swap: Краще створити виділений розділ swap або створити файл swap?


9

чи існує обґрунтування, коли потрібно створити виділений розділ swap порівняно зі створенням файлу swap, наприклад / tmp / swap?

У моєму певному випадку об'єм пам'яті (1 ГБ), дисковий простір на SSD досить величезний (256 ГБ). Таким чином, обмін відбуватиметься досить регулярно.

Будь-які коментарі оцінені!

Карстен


4
Будьте в курсі, ви можете скоротити термін служби свого SSD, використовуючи його для своп. askubuntu.com/questions/652337/…
steve

Відповіді:


3

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


2
Оскільки SSD не має штрафу, який зчитується випадковим чином, шкоди від фрагментованого файлу дуже мало.
Девід Кінг

Якщо чесно, я з тих пір виступаю за розділ swap, але ей, як ми говоримо тут, у Німеччині, "нічого не потрібно запитувати" ;-)
CarstenP

1
Я часто роблю файли swap для тимчасового використання, якщо передбачаю, що надходить великий проект, який може вичерпати налаштовану оперативну пам’ять та підкачати розділи, але мені подобається тримати її в розділі. Таким чином, я можу повторно використовувати swap-розділи між дистрибутивами Linux так само легко, як і я можу повторно використовувати домашні розділи.
DopeGhoti

1
Частина про "більше шарів коду ядра, який потрібно пройти під час запису у файл у файловій системі" не відповідає дійсності: " Ядро генерує карту зміщення своп -> дискові блоки під час заміни, а потім використовує цю карту для здійснення свопу Введення / виведення безпосередньо проти основної дискової черги, минаючи всі кешування, метадані та код файлової системи. ”- Архів Linux-ядра: Re: Поміняти розділ на файл заміни
Ентоні Геогеган

1

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


Можливо, я мушу більше ознайомитись з помпою Swap I / O, качками та обставинами ... Хіба в Linux нічого не буває, щоб він був приємним, повільним і простим ?? ^^: D PS: Ну, забудь про "повільну" річ ... ^^
CarstenP

Це насправді не так: « Ядро генерує карту зміщення своп -> дискових блоків під час заміни і з цього моменту використовує цю карту для здійснення swap вводу / виводу безпосередньо проти основної дискової черги, минаючи всі кешування, метадані та код файлової системи. ”- Архів Linux-ядра: Re: Поміняти розділ на файл заміни
Ентоні Геоґеган

1

Доступ до файлів підкачки не проходить через файлову систему ... ядро ​​знає, які дискові блоки здійснюються свопом і отримує доступ до них безпосередньо 1 . Але непомітний файл може мати фрагменти в різних областях диска, і залежно від конкретного використання додаткові пошуки можуть зробити його повільніше, ніж виділений розділ.

OTOH, якщо ви маєте справу з хмарним сервером, який не має розділу swap і немає можливості створити його, файл swap може зберегти вашу програму.


[1]Ядро генерує карту зміщення своп -> дискових блоків під час заміни і з цього моменту використовує цю карту для здійснення swap вводу / виводу безпосередньо проти основної дискової черги, минаючи всі кешування, метадані та код файлової системи. ”- Архів Linux-ядра: Re: Поміняти розділ на файл заміни


Що трапляється, якщо fs переміщує / змінює блоки файлів? Я думаю, що у випадку файлів swap, принаймні, якась взаємодія драйверів fs повинна існувати.
peterh

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