Мне кажется, файл подкачки более гибкий.
Мне кажется, файл подкачки более гибкий.
Ответы:
Файл подкачки более гибкий, но также более подвержен ошибкам, чем раздел подкачки. Ошибка файловой системы может повредить файл подкачки. Файл подкачки может быть проблемой для администратора, так как файл не может быть перемещен или удален. Файл подкачки не может быть использован для спящего режима. В прошлом файл подкачки был немного медленнее, хотя в настоящее время разница незначительна.
Преимущество файла подкачки заключается в том, что нет необходимости определять размер заранее. Однако в Linux вы все равно не можете изменить размер файла подкачки онлайн: вам нужно отменить его регистрацию, изменить размер, а затем повторно зарегистрировать (или создать другой файл и удалить старый). Таким образом, в Linux нет большого преимущества для файла подкачки по сравнению с разделом подкачки. Это в основном полезно, когда вам временно требуется больше виртуальной памяти, а не как постоянное устройство.
Раздел подкачки может быть предпочтительным, поскольку он позволяет избежать зависимости от файловой системы, когда все, что вам нужно, это пул адресуемой памяти.
Но ничто не мешает вам использовать файл подкачки вместо раздела подкачки или в дополнение к разделу подкачки.
Создайте файл:
dd if=/dev/zero of=/extraswap bs=1M count=512
Инициализируйте содержимое файла:
mkswap /extraswap
Используй это:
swapon /extraswap
Посмотрим, сработало ли это:
free -m
Чтобы всегда использовать swapfile при загрузке, отредактируйте / etc / fstab и добавьте
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
в терминале, если мне вдруг понадобится дополнительное пространство подкачки:alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
Возможно, основная причина в том, что основное ядро suspend-to-disk не работает с файлами подкачки. Например, инструкции по вики Debian должны быть установлены, uswsusp
если вам это нужно.
В последнее время файлы подкачки не работают, если файловая система такова btrfs
, поэтому дистрибутивам проще всего всегда создавать подкачку как раздел.
Смутно упомянуто, что использование файла для подкачки могло иметь потенциально более низкую производительность, чем раздел, до версии ядра 2.6. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
Для полноты добавлю свой ответ:
Как сказал @Gilles, файл подкачки нельзя использовать для спящего режима. При использовании файла подкачки система должна найти заголовок файла подкачки, но для этого необходимо смонтировать файловую систему, содержащую файл подкачки, и журнальную файловую систему - например, ext3, ext4 и, в основном, все современные файловые системы, используемые Linux. - не может быть смонтирован во время возобновления с диска. (На самом деле, есть способы сделать это, но довольно громоздко.)
Источник: https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
Я думаю, что это в основном потому, что время доступа к данным, расположенным в разделе, меньше. Смысл файла подкачки заключается в том, чтобы помочь системному администратору, когда у него действительно недостаточно оперативной памяти и ему нужно выполнять огромные операции, которые могут привести к сбою его системы. В этом случае он будет время от времени создавать файлы подкачки при необходимости.
Но в любом случае вы можете иметь их обоих.