Что такое файл подкачки и для чего он нужен


Каждый из Вас, безусловно, слышал о так называемом файле подкачке. Собственно, что такое файл подкачки и с чем его едят? В данной статье попытаюсь ответить на этот вопрос.
Очень часто приходится слышать такой вопрос: «У меня стала появляться ошибка, в которой сообщается: «Недостаточно виртуальной памяти. Увеличьте объем файла подкачки». Что это означает? Как это исправить? И что такое файл подкачки?

ЧТО ТАКОЕ ФАЙЛ ПОДКАЧКИ?

Итак, файл подкачки – это что-то вроде дополнительной виртуальной памяти компьютера. Например, когда одновременно запущенно большое число приложений, часть из них в данный момент времени не используется, то есть являются неактивными. Как раз эта часть неактивных программ и находится в файле подкачке, который играет роль некоего хранилища.
По умолчанию объем файла подкачки задается самой системой. Однако пользователь имеет возможность изменять его в ручную. Стоит отметить, что может осуществляться несколькими способами.
Может сложиться такое впечатление, что как таковая, оперативная память вовсе и не нужна, ведь точно также можно использовать файл подкачки, размещенный на винчестере компьютера. Однако далеко не все так легко, как кажется на первый взгляд. Дело тут в том, что скорость чтения оперативной памяти намного превышает скорость чтения информации с жесткого диска компьютера. А потому, при всех существующих условиях, файлы подкачки абсолютно никак нельзя использовать в роли полноценной альтернативы оперативной памяти.
(с атрибутом «скрытый»), расположенный на диске компьютера, который используется для хранения информации, не помещающейся в оперативной памяти. Когда это необходимо, система перемещает данные в оперативную память из файла подкачки (для того, чтобы ими пользовались соответствующие программы) и обратно, освобождая диск для принятия новых данных. Таким образом, система компенсирует дефицит физической памяти компьютера. Однако это совсем не означает, что файл подкачки подключается к работе только при заполнении оперативной памяти. Система постоянно пользуется им. Даже если объема оперативной памяти будет достаточно, система в любом случае «перекидывает» на диск данные приложений, которые неактивны в данный момент, тем самым освобождая больше свободного места для приложений, с которыми ведется работа.
На лицо явные признаки заботы о свободной памяти. Тем не менее, здесь есть свои недостатки. Скорость записи/чтения у винчестера ниже, чем у «оперативок», а если файл подкачки еще и сильно фрагментирован, это приведет к значительному снижению работоспособности. Для улучшения производительности системы , следует настроить файл подкачки.

НАСТРОЙКА ФАЙЛА ПОДКАЧКИ

Предлагаю посмотреть, каким образом можно изменять объем файла подкачки. Нажимаем правой кнопкой мышки по значку на рабочем столе «Компьютер», в выпадающем контекстном меню выбираем «Свойства», далее в открывшемся окне — «Дополнительно» (в левой части экрана). В первом пункте «Быстродействие» жмем по кнопке «Параметры», затем переходим во вкладку «Дополнительно». В пункте «Виртуальная память» выбираем «Изменить». Нашему вниманию предстанет новое окно! Именно здесь и можно задать величину файла подкачки. Если до этого изменения не производились, в окне будет установлена галочка в пункте «Автоматически выбирать объем файла подкачки». Дабы иметь возможность менять значения, снимаем «птичку».
Приведу несколько советов по тому, как следует менять объем файл подкачки.
1. Максимальный и исходный объем файла подкачки должны быть одинаковы, то есть, скажем, 512 на 512 или 1 024 на 1 024.
2. Снимаем радио-точку (кружочек) рядом с пунктом «Размер по выбору системы» — данный параметр Вы должны будете задать сами.
3. Хранение файла подкачки должно осуществляться в том же томе винчестера, на котором «стоит» система.
Узнать о том,

Доброго времени суток, дорогие друзья, знакомые, читатели и прочие личности. Сегодня как Вы поняли из заголовка, мы поговорим про то, что такое файл подкачки . Если Вы ищете текст о его настройке и .

Казалось бы, что в нем такого, ибо там всё просто? Так-то оно так, да далеко не всегда. Это довольно полезная и удобная штука, живущая в операционной системе как раз в целях оптимизации работы и своеобразного ускорения оной.

Впрочем, давайте к сути.

Файл подкачки - терминология

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

Дело в том, что когда не хватает оперативной памяти системе некуда деваться, а виснуть, ясное дело, никому не хочется (и компьютер тому не исключение), а посему используется этакая дополнительная память в виде файла. Казалось бы, зачем тогда оперативная память, если можно пользоваться ?

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

Принцип работы

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

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

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

Где должен лежать файл подкачки

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

Подробная статья по размерам, напоминаем, . А вот основные принципы по размещению его на диске:

  • Если у Вас несколько физических (т.е. не разбитый на части один, а несколько устройств вообще) жестких дисков, то расположите файл подкачки ;
  • Если у Вас один жесткий диск, разбитый на разделы, то расположите файл подкачки на диске C:/ или том, где установлена система. Если Вы разбивали диск , то на любом разделе, отличном от системного;
  • После того как Вы установили размер или положение, собственно, нужно перезагрузиться (впрочем, об этом Вас предупредит система Windows и сама по себе);
  • Как увидеть его положение ? Либо с помощью диспетчера задач, либо непосредственно на диске, но сам файл подкачки бывает скрыт (его можно увидеть, включив отображение скрытых файлов и папок в системах) и называется pagefile.sys (чтобы не удалили ненароком).

За сим всё, можно переходить к послесловию.

Практически во всех материалах по , которые мне доводилось встречать на просторах Интернета, упоминается такой объект операционной системы Windows, как файл подкачки (виртуальная память). Предполагается, что оптимизация файла подкачки должна повлиять на скорость работы операционной системы и компьютера в целом. Но так ли это на самом деле и существует ли оптимальный файл подкачки? Давайте разбираться...

Зачем нужен файл подкачки

В двух словах поясню что это за файл и для чего он нужен.

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

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

Во время работы компьютера Windows помещает в этот файл данные, которые не умещаются в оперативной памяти. В дальнейшем эти данные могут снова помещаться в оперативную память и опять выгружаться в файл подкачки.

Нужно ли переносить файл подкачки

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

Но так ли это? Давайте разберемся.

Сама компания Майкрософт в одной из статей рекомендует сделать перенос файла подкачки на другой раздел: «Вы можете увеличивать производительность системы, а также освободить пространство на загрузочном разделе, переместив данный файл на альтернативный раздел ».

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

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

Дело в том, что отсутствие файла подкачки на системном диске не позволит системе создавать дампы памяти.

Дамп памяти — это некоторый слепок оперативной памяти, который может быть крайне полезным при выяснении причин сбоев. То есть анализ дампа памяти довольно часто позволяет выявить причину, которая вызвала перезагрузку или зависание компьютера.

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

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

Но это все же не означает, что перенос файла подкачки бессмысленен.

Когда перенос файла подкачки оправдан

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

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

Первый файл подкачки позволит создавать дампы памяти для анализа внештатных ситуаций. Второй файл подкачки позволит ускорить работу Windows с ним, так как он физически будет размещен на другом устройстве.

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

Теперь поговорим о том, как это сделать.

Как перенести файл подкачки

В Панели управления перейдем в раздел «Система»:

Найдем подраздел «Быстродействие»:

И на вкладке «Дополнительно» обратимся к подразделу «Виртуальная память»:

Снимаем галочку с пункта, автоматически регулирующего размер файла подкачки, и в перечне доступных дисков выбираем тот, на который хотим его перенести.

И тут возникает вполне закономерный вопрос — как определить необходимый объем этого файла?

Оптимальный размер файла подкачки

К сожалению, невозможно однозначно сказать, какой оптимальный размер файла подкачки нужно установить. Все зависит от множества факторов, в первую очередь от объема оперативной памяти установленной на компьютере. Ну и конечно от того, для каких целей компьютер используется, то есть какие программы на нем запускаются и какие задачи с помощью компьютера решаются.

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

Но это утверждение не всегда правомочно, так как есть очень ресурсоемкие программы, которым и 64Гб оперативной памяти будет недостаточно.

По этой причине оптимальный файл подкачки для каждого компьютера будет разным. Но можно руководствоваться советом Майкрософт при настройке файла подкачки.

Согласно информации с сайта Майкрософт , в Windows заложен следующий принцип: «Windows устанавливает исходный размер файла подкачки равным объему оперативной памяти вашего компьютера, а максимальный размер файла подкачки соответствует утроенному объему ОЗУ» .

Файл подкачки – это область винчестере компьютера (скрытый системный файл), используемая для компенсации нехватки объема ОЗУ. Операционная система временно помещает туда фрагменты программ и служб, которые используются в конкретный момент. Данные помещаются и извлекаются из фала подкачки по мере необходимости.

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

Настройка области подкачки

При невозможности физически нарастить объем ОЗУ или для отключения файла подкачки потребуется открыть его настройки. Чтобы открыть настройки потребуется кликнуть по иконке «Компьютер» правой клавишей. В меню появится пункт «Свойства».

Во вкладке «Дополнительно» будет блок «Быстродействие», здесь нужно нажать на кнопку «Параметры».

После этого откроется окно «Параметры быстродействия». Здесь на вкладке «Дополнительно» будет блок «Виртуальная память» с кнопкой «Изменить».

После нажатия на кнопку «Изменить» откроется окно для настройки файла подкачки. Альтернативный вариант доступа к настройкам состоит в , в которой будет пункт «Система». Дальше действия точно такие же, как после открытия «Свойств» через иконку «Компьютер».

Здесь будет произведена настройка. В процессе настройки появится предупреждение о том, что подобные параметры могут менять только специалисты. Но обращать внимание на них не нужно.

Есть несколько важных пунктов, которым должен соответствовать этот файл:

  • его размер следует задавать в полтора-два раза больше, чем объем имеющейся ОЗУ;
  • самый малый и максимальные размеры подкачки обязательно должны совпасть.
  • если у вас в системе несколько дисков, то размещать файл подкачки нужно на самом быстром из них;

При наличии достаточного количества памяти в ОЗУ файл подкачки можно и вовсе отключить. Для этого понадобится иметь «на борту» не менее 6 Гб в ОЗУ. Кроме того, существует возможность автоматического определения размера файла подкачки. Для этого нужно только выбрать соответствующий пункт в окне с настройками файла подкачки.

Применение изменений произойдет после нажатия кнопок «ОК» и «Применить». После этого рекомендуется перезагрузить компьютер. Делать это не обязательно, но нужно помнить, что изменения будут действовать после перезагрузки.

Файл подкачки

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

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

Страничная организация виртуальной памяти

В большинстве современных операционных систем виртуальная память организуется с помощью страничной адресации. Оперативная память делится на страницы: области памяти фиксированной длины (например, 4096 байт), которые являются минимальной единицей выделяемой памяти (то есть даже запрос на 1 байт от приложения приведёт к выделению ему страницы памяти). Процесс обращается к памяти с помощью адреса виртуальной памяти, который содержит в себе номер страницы и смещение внутри страницы. Операционная система преобразует виртуальный адрес в физический, при необходимости подгружая страницу с жёсткого диска в оперативную память. При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Критические данные (например, код запущенных и работающих программ, код и память ядра системы) обычно находятся в оперативной памяти (исключения существуют, однако они не касаются той части, которая отвечает за использование файла подкачки).

В семействе операционных систем Microsoft Windows место для хранения страниц на жёстких дисках должно быть выделено заранее. Пользователь может положиться на автоматический механизм или самостоятельно указать размер области виртуальной памяти на каждом из разделов диска. На указанных разделах операционной системой создаётся файл pagefile.sys требуемого размера, который и хранит «сброшенные» из оперативной памяти страницы.

Сегментная организация виртуальной памяти

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

Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g - номер сегмента, а s - смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.

Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

Свопинг

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

Фрагментация файла подкачки

В процессе работы файл (раздел диска, или файл на разделе) подкачки может стать фрагментированым, то есть непрерывные виртуальные области памяти будут состоять из многочисленных отдельных (разрывных) областей в файле подкачки. При считывании и записи данных страниц много времени будет уходить на перепозиционирование головок жёсткого диска на начало очередной области. Это может привести к падению производительности всей системы.

Использование свопинга особенно эффективно, если запущено много интерактивных приложений, которые потребляют большой объем ОЗУ, но при этом практически не занимают процессорное время .

Методики эффективной организации файла подкачки

Дополнительные сведения

Из файла (раздела) подкачки зачастую можно извлечь конфиденциальную информацию, используемую при работе вычислительной системы. Поэтому при работе с секретными данными обычно производится очистка swap - например, с помощью утилиты sswap из комплекта secure remove.

Алгоритмы определения устаревших страниц

При выделении места для новой страницы бывает необходимо удалить какую-либо страницу, в данный момент находящуюся в памяти. Правила замещения страниц служат для принятия решения о том, какую именно страницу следует удалить из памяти. Идеальным кандидатом является «мёртвая» страница, которая больше не потребуется кому-либо (например, относится к завершённому процессу). Если же таких страниц нет в памяти (или их количества недостаточно), используется правило локального или глобального замещения страниц:

  • Правило локального замещения выделяет каждому процессу или группе взаимосвязанных процессов определённое количество страниц. Если процессу нужна новая страница, он должен заменить одну из собственных.
  • Правило глобального замещения страниц позволяет брать страницы любого процесса, используя глобальные критерии выбора. Для реализации данного подхода необходимо выбрать критерий, по которому будет приниматься решение о страницах, хранимых в памяти.

Наиболее часто используемые критерии поиска:

  • Less Recently Used. Удаляются те страницы, доступ к которым производился наиболее давно. Считается, что в последующем к таким страницам будет происходить минимум обращений.
  • Last Recently Used. Удаляются недавно освободившиеся страницы. Подразумеваются страницы только что завершившихся процессов.

Недостатки

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

Операционные системы

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

Unix-подобные

Microsoft Windows и Windows NT

Область жёсткого диска, предназначенная для свопинга, располагается в отдельном файле, который называется файл подкачки , своп-файл (от англ. swap file ). Он называется pagefile.sys и по умолчанию создаётся системой в корневом каталоге диска C: . В дальнейшем пользователь может управлять размером и размещением файла подкачки, например, используя Панель управления , пункт Система .

В Windows 9x файл подкачки называется win386.swp и располагается в каталоге Windows. Однако правкой файла System.INI его можно перенести в корневой каталог для последующего совместного использования с Windows NT.

См. также

  • Устройство управления памятью (Memory Management Unit)

Примечания

Литература

Вахалия Ю. UNIX изнутри. - СПб.: Питер, 2003. С.844. ISBN 5-94723-013-5

Иртегов Д. Введение в операционные системы. СПб.: Питер, 2002.