В Linux вы можете выбрать такие вещи, как ext3 и reiserfs для разделов. Для раздела подкачки вы просто выбираете «своп». Что это за файловая система? Можете ли вы просто создать раздел ext3 и сделать его разделом подкачки? Как бы это было иначе?
В Linux вы можете выбрать такие вещи, как ext3 и reiserfs для разделов. Для раздела подкачки вы просто выбираете «своп». Что это за файловая система? Можете ли вы просто создать раздел ext3 и сделать его разделом подкачки? Как бы это было иначе?
Ответы:
Своп не является реальной файловой системой. Это просто зарезервированная часть диска, которая является необработанной адресуемой памятью без специальной структуры.
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 в настоящее время используется. Вот и вся магия, лежащая в основе структуры свопа.
Я думаю, что раздел подкачки не нуждается в файловой системе, потому что там нет файлов и каталогов. Раздел подкачки - это место виртуальной памяти.
В Linux есть две формы подкачки: раздел подкачки и файл подкачки. Раздел подкачки - это независимый раздел жесткого диска, используемый исключительно для подкачки; никакие другие файлы не могут находиться там. Файл подкачки - это специальный файл в файловой системе, который находится между вашей системой и файлами данных.
Обмен необходим по двум важным причинам. Во-первых, когда системе требуется больше памяти, чем физически доступно, ядро выгружает меньше используемых страниц и отдает память текущему приложению (процессу), которое немедленно нуждается в памяти. Во-вторых, значительное количество страниц, используемых приложением на этапе запуска, может использоваться только для инициализации, а затем никогда не использоваться снова. Система может поменять эти страницы и освободить память для других приложений или даже для дискового кэша.
Существует два способа создания пространства подкачки: подкачка файловой системы и подкачка устройства (или файла). С помощью подкачки файловой системы вы создаете файл в файловой системе и используете его в качестве пространства подкачки (так же, как вы видели бы в 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/