14

В Linux вы можете выбрать такие вещи, как ext3 и reiserfs для разделов. Для раздела подкачки вы просто выбираете «своп». Что это за файловая система? Можете ли вы просто создать раздел ext3 и сделать его разделом подкачки? Как бы это было иначе?

4 ответа4

24

Своп не является реальной файловой системой. Это просто зарезервированная часть диска, которая является необработанной адресуемой памятью без специальной структуры.

mkswap создает заголовок для области подкачки с некоторой дополнительной информацией. Из файла swapheader.h пакета util-linux-ng:

struct swap_header_v1 {
    char         bootbits[1024];    /* Space for disklabel etc. */
    unsigned int version;
    unsigned int last_page;
    unsigned int nr_badpages;
    unsigned int padding[125];
    unsigned int badpages[1];
};

Заголовок версии 1 в настоящее время используется. Вот и вся магия, лежащая в основе структуры свопа.

6

Я думаю, что раздел подкачки не нуждается в файловой системе, потому что там нет файлов и каталогов. Раздел подкачки - это место виртуальной памяти.

3

В Linux есть две формы подкачки: раздел подкачки и файл подкачки. Раздел подкачки - это независимый раздел жесткого диска, используемый исключительно для подкачки; никакие другие файлы не могут находиться там. Файл подкачки - это специальный файл в файловой системе, который находится между вашей системой и файлами данных.

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

-1

Существует два способа создания пространства подкачки: подкачка файловой системы и подкачка устройства (или файла). С помощью подкачки файловой системы вы создаете файл в файловой системе и используете его в качестве пространства подкачки (так же, как вы видели бы в Windows с pagefile.sys). С помощью подкачки устройства вы меняете раздел, созданный специально для подкачки.

Что лучше:

Эта дискуссия была намного интереснее в "старые" времена, потому что:

Почему подкачка устройства "лучше": так как вы переставляете на необработанный раздел, это быстрее, потому что вам не нужно иметь дело со всеми дополнительными издержками файловой системы с inode и другими накладными расходами файловой системы

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

Почему подкачка файловой системы "лучше": гораздо проще изменить размеры. Когда вы меняете размеры разделов, это намного сложнее, чем просто создавать новые файлы.

Однако сегодня, когда многие люди используют LVM вместо необработанных разделов, легко уменьшить и увеличить пространство подкачки

Сегодня это еще спорный вопрос: Большинство серверов в эти дни по причинам производительности это стоит стоимость просто подключить его полной памяти. (Раньше эти дебаты были гораздо популярнее, когда было сложно получить ОЗУ, и обычно на сервер помещалось от 4 до 8 ГБ ОЗУ)

ПОЧЕМУ Я ИСПОЛЬЗУЮ FILESYSTEM SWAP (и вообще меняю своп)

В эти дни я инструктирую наших ребят устанавливать с 4gig swap onl, и мы используем один и тот же config/ образ для всех наших установок linux. Установка Oracle требует более интенсивного использования подкачки, поэтому для систем, в которых будет установлен Oracle, остальное я создам с помощью подкачки файловой системы. Возможно, ваше приложение может иметь требование подкачки, и в этом случае вы можете добавить его позже с помощью подкачки файловой системы.

Это помогает?

У меня есть подробные инструкции, как сделать это в Linux здесь: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .