- •Лекція №11
- •Использование swap пpостpанства
- •Разделение swap областей с дpугими опеpационными системами
- •Размещение swap пpостpанства
- •Дисковый буфеp
- •Вычисление необходимого размера подкачки
- •Где разместить файл подкачки!
- •Загрузчик в пзу
- •Загрузочный сектор и первичный загрузчик
- •Загрузчик ядра
- •Загрузка системы
- •Стартовый виртуальный диск и модули ядра
- •Отец всех процессов
Вычисление необходимого размера подкачки
Вы можете вычислить, сколько виртуальной памяти необходимо добавить к оперативной, или другими словами, объем пространства подкачки. Как минимум необходимо 16Мбайт общей виртуальной памяти, из которых 4 Мбайта должны быть
оперативной памятью.
Размер места на диске для подкачки может быть любого размера, какого вам хочется, только с учетом того, что вся виртуальная память (подкачка, плюс оперативная) не должна превышать 4 Гбайта. Но если создать раздел подкачки размером свыше 128 Мбайт, это будет пустой тратой ресурсов жесткого диска, так как Linux не может использовать на одном разделе подкачки больше 128 Мбайт.
Если вдруг понадобится больше, создайте несколько разделов по 128 Мбайт. Например, 16 таких разделов дадут в сумме уже 2 Гбайта, выделенныхдля подкачки.
Не следует создавать область подкачки, которая будет превышать объем оперативной памяти более чем в три раза, разве что вы будете основательно использовать графические возможности системы X. Помните, что размер подкачки можно изменять по мере необходимости.
Linux поддерживает подкачку в двух видах.
Раздел подкачки. Раздел на жестком диске, помеченный Linux для использования под подкачку (ID=82). Раздел подкачки резервируется только для подкачки и при этом используются смежные блоки диска.
Файл подкачки. Файл, помещенный где-то в файловой системе Linux. Отдельные фрагменты этого файла размещаются на несмежных блоках жесткого диска, что отрицательно сказывается на производительности.
Использование разделов подкачки эффективнее файлов подкачки, и поэтому это более предпочтительный метод. Во время разделения диска создается специальный раздел для подкачки. Использование такого раздела эффективнее потому, что страницы памяти будут быстрее сохраняться и считываться со смежных блоков диска. Блоки — это части поверхности диска, и скорость доступа к информации, находящейся на нем, существенно возрастает, если части этой информации лежат на соседних областях диска. В противоположность этому, части файла подкачки могут находиться на разных частях диска и, если данные разбросаны таким образом по всей поверхности, жестокому диску приходится проделывать большую работу, собирая разрозненные страницы памяти. Для повышения производительности старайтесь использовать разделы подкачки, а не файлы.
Главная неприятность, связанная с использованием swap-файлов, состоит в том, что доступ к ним происходит через файловую систему. Это означает, что блоки, составляющие swap-файл могут быть не смежными на диске. То есть скорость своппинга при использовании swap-файла ниже, чем при использовании swap-раздела, для которой блоки всегда смежны (последовательны) и запросы на ввод/вывод происходят прямо к устройству.
Другая проблема, связанная с использованием swap-файла, это возможность испортить информацию в файловой системе - при использовании больших файлов своппинга существует шанс, что вы попортите систему, если что-то происходит неправильно. Имея раздел своппинга отдельно от файловой системы вы страхуетесь от таких неприятностей.
Использование файла своппинга может быть очень полезным, если у вас есть временная потребность в дополнительном пространстве для своппинга.
Разделы, необходимые для работы Linux.
Для работы Linux необходимо создать на жестком диске (дисках) по крайней мере два раздела : корневой (то есть тот, который будет содержать каталог / ) и раздел своппинга (swap, раздел подкачки). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если у вас много свободного места на диске, то можно создать отдельные разделы для каталогов /usr, /home, /var.
Внимание!
Виртуальная память гораздо медленнее, чем оперативная память (доступ к информации на жестком диске гораздо медленнее, чем к информации в оперативной памяти), и поэтому операционная система работает гораздо медленнее, когда ей приходится много "подкачивать". Когда оперативной памяти мало, жесткий диск начинает "сходить с ума". И чем больше приходится переносить данные из оперативной памяти на диск и обратно, тем на большее время операционная система входит "в ступор". Это хорошо видно по непрекращающемуся миганию лампочки жесткого диска на корпусе. Если такое происходит все чаще и чаще, значит самое время прикупить еще оперативной памяти. Виртуальная память никогда не сможет полностью заменить оперативную!
Жесткие диски — это механические устройства. Информация считывается и записывается на вращающиеся диски, расположенные внутри коробки, подобно слоеному пирожному. Прокладка между каждым диском-слоем — это воздух, который создает трение для перемещающихся между дисками считывающих головок. Эти головки перемещаются по поверхности дисков, считывая и записывая данные. Каждый раз, когда необходимо провести подкачку, головка должна физически, переместиться на ту область диска, где находятся данные. Понятно, что этот процесс существенно медленнее, чем передача электрических импульсов из оперативной памяти. И каким бы современным и быстрым ни был жесткий диск, механические операции никогда не обгонят электрические сигналы. Можно только ускорить эти операции, применяя различные технологии, например использование нескольких головок для одного диска и быстрое переключение между ними для считывания и записи, увеличение скорости перемещения самих головок и т.д. И ясно, что старые жесткие диски, где подобные технологии вообще не используются, могут ухудшить производительность всей системы, если на них разместить раздел подкачки.