Swap: лучше создать выделенный раздел подкачки или создать файл подкачки?


9

Есть ли обоснование, когда создавать выделенный раздел подкачки по сравнению с созданием файла подкачки, например, / tmp / swap?

В моем конкретном случае объем памяти немного (1 ГБ), дисковое пространство на SSD довольно велико (256 ГБ). Таким образом, обмен будет происходить довольно регулярно.

Любые комментарии приветствуются!

Карстен


4
Имейте в виду, что вы можете сократить срок службы вашего SSD, используя его для замены. askubuntu.com/questions/652337/…
Стив

Ответы:


3

Основным недостатком использования файлов подкачки в отличие от разделов подкачки является невозможность фрагментации раздела подкачки, в то время как при создании файл подкачки в файловой системе экстента может быть разделен на диск, вызывая более медленный последовательный доступ.


2
Поскольку у SSD нет штрафов за случайное чтение, фрагментированный файл наносит очень мало вреда.
Дэвид Кинг

Если честно, с тех пор я поддерживаю раздел подкачки, но, как мы говорим здесь, в Германии, «спрашивать не
нужно

1
Я часто делаю файлы подкачки для временного использования, если предвижу крупный проект, который может исчерпать сконфигурированную память и разделы подкачки, но мне нравится держать его разделенным. Таким образом, я могу использовать разделы подкачки между дистрибутивами Linux так же легко, как и домашние разделы.
DopeGhoti

1
Часть о «большем количестве уровней кода ядра, которые нужно пройти при записи в файл в файловой системе» неверна: « Ядро генерирует карту смещения подкачки -> дисковые блоки во время замены и с тех пор использует эту карту для выполнения подкачки Ввод / вывод непосредственно из основной очереди диска, минуя все кэширование, метаданные и код файловой системы. ”- Linux-Kernel Archive: Re: раздел подкачки против файла подкачки
Энтони Геогеган,

1

Операции ввода-вывода над файлом должны проходить через несколько уровней кода ядра (например, VFS), поэтому при замене файла возникает больше накладных расходов. С другой стороны, это более гибкая настройка и может быть достаточно для вашего случая.


Возможно, мне следует лучше познакомиться с помпой ввода-вывода Swap, утками и обстоятельствами ... Разве в Linux нет ничего хорошего, медленного и простого ?? ^^: D PS: Ну, забудь о "медленной" вещи ... ^^
CarstenP

На самом деле это не так: « Ядро генерирует карту смещения подкачки -> дисковых блоков во время замены и с тех пор использует эту карту для выполнения операций ввода-вывода подкачки непосредственно в очереди базового диска, минуя весь код кэширования, метаданных и файловой системы. ”- Linux-Kernel Archive: Re: раздел подкачки против файла подкачки
Энтони Геогеган,

1

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

OTOH, если вы имеете дело с облачным сервером, на котором нет раздела подкачки и нет возможности его создать, файл подкачки может сохранить ваше приложение.


[1] « Ядро генерирует карту смещения подкачки -> дисковых блоков во время замены и с тех пор использует эту карту для выполнения операций ввода-вывода подкачки непосредственно в очередь на диске, минуя все кэширование, метаданные и код файловой системы. »- Linux-ядро Archive: Re: раздел подкачки против файла подкачки


В каком случае fs перемещает / изменяет размеры файловых блоков? Я думаю, что в случае файлов подкачки, по крайней мере, некоторые взаимодействия с драйверами fs должны существовать.
Петер - Восстановить Монику

Upvoted. Это должен быть принятый ответ, так как он единственный, который утверждает, что ядро ​​напрямую обращается к дисковым блокам, используемым для подкачки.
Энтони Геогеган
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.