Терминология:

Оперативная память . Синонимы : RAM (Random Access Memory ) – память (запоминающее устройство) с произвольной выборкой; оперативное запоминающее устройство, ОЗУ. При выключении компьютера данные, хранящиеся в ОЗУ, утрачиваются. Как правило, чем больше объем установленной в компьютере оперативной памяти, тем быстрее работают программы.

Файл подкачки (swap-file , paging-file ) – файл на жестком диске (pagefile.sys ; имеет атрибуты Скрытый , Системный ), используемый Windows для хранения частей программ и файлов данных, не помещающихся в оперативной памяти. По мере необходимости Windows перемещает данные из файла подкачки в оперативную память (для их использования программами) и обратно (для освобождения места для новых данных).

Синонимы : своп-файл; свопинг-файл; файл виртуальной памяти.

Виртуальная память – совокупность оперативной памяти и файла подкачки.

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

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

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

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

Нажмите Пуск –> Панель управления –> Система,в окне Панель управления –> Все элементы панели управления –> Система выберите меню Дополнительные параметры системы, окне Свойства системы откройте вкладку Дополнительно ;

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

В разделе Виртуальная память нажмите кнопку Изменить, в окне Виртуальная память снимите флажок Автоматически выбирать объем файла подкачки ;

Выберите диск, на котором будет расположен файл подкачки, установите переключатель Указать размер, в соответствующих полях задайте исходный и максимальный размер файла подкачки в мегабайтах (например, при объеме ОЗУ – 3 ГБ установите размер файла подкачки 1024 МБ , – и исходный, и максимальный);

Нажмите кнопку Задать –> OK, появится окно Свойства системы с сообщением «Для того чтобы сделанные изменения вступили в силу, следует перезагрузить компьютер» , нажмите OK –> OK –> OK, появится окно Microsoft Windows с сообщением ;

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

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

Если у вас установлено 2 (или более) жестких диска, рекомендуется перенести файл подкачки с диска, где у вас установлена Windows, на другой жесткий диск.
Если у вас один жесткий диск, создайте на нем дополнительный раздел объемом 2 – 3ГБ. Конвертируйте его в FAT32. Выполните дефрагментацию этого раздела. Укажите расположение файла подкачки на этом разделе. Используйте весь объем этого раздела только для файла подкачки.

Примечания:
1. Чтение данных из оперативной памяти выполняется значительно быстрее, чем с жесткого диска, поэтому для увеличения быстродействия ПК предпочтительнее увеличение объема ОЗУ, чем увеличение размера файла подкачки.
2. Windows 7 задает текущий размер файла подкачки, равный объему установленной оперативной памяти: если объем ОЗУ вашего ПК – 3ГБ, то система автоматически задаст текущий размер файла подкачки – 3ГБ.
3. Как правило, после увеличения размера файла подкачки перезагрузка не требуется, но в случае уменьшения – ПК следует перезагрузить, чтобы изменения вступили в силу.
4. Microsoft не рекомендует отключать и удалять файл подкачки.
Если на Windows XP при достаточном объеме ОЗУ можно было безболезненно отключить файл подкачки (это обратимый процесс – в любой момент вы можете вновь включить использование файла подкачки, если вам покажется, что система стала работать хуже), то на Vista и Windows 7 не рекомендуется это делать, так как при запуске ресурсоемких приложений ОС «достанет» вас сообщениями о «нехватке виртуальной памяти». В таких случаях (при объеме ОЗУ 3ГБ и более), вместо полного отключения, можно уменьшить размер файла подкачки до 500 – 800МБ.

Вконтакте

Прежде, чем обсуждать файл подкачки Windows 7 и его оптимальный размер, совершим небольшой экскурс в историю. В ранних продуктах Microsoft понятие виртуальной памяти отсутствовало. И операционная система, и загружаемые драйвера, и программы пользователя размещались в оперативной памяти компьютера размером в 640 Кб. Сегодня эти цифры выглядят смешно, а в то время этого объема RAM было вполне достаточно для работы и развлечений.

Некоторые системы программирования предоставляли собственные механизмы виртуализации памяти – так называемые «оверлеи». Если программа занимала чрезвычайно большой объем памяти, то она разбивалась на отдельные модули, периодически подгружаемые с жесткого диска и выгружаемые на него, если потребности в них в этот момент не имелось. Оверлеи – предтеча виртуальной памяти в Windows, но реализуемая не на уровне ОС, а на уровне самой программы.

Впоследствии объем доступной MS-DOS оперативной памяти увеличился сначала до 1 Мб, а затем и до 16 Мб. Но и размеры программных продуктов от него не отставали. Стали появляться трехмерные игры и прочее ПО, поглощающее очень большие ресурсы. С появлением Windows ситуация еще более усложнилась. Теперь уже сама Windows стала «отъедать» столько памяти, что на размещение некоторых программ ее просто не оставалось.

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

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

Размеры файла подкачки

Главное требование к размеру файла подкачки (pagefile.sys) – его достаточность для исполнения программ пользователя. Если размер файла будет слишком мал, а программа займет слишком много места в памяти, то частично выгрузить ее на диск не получится. Система немедленно отреагирует на это сообщением об ошибке переполнения RAM. Выход из этого положения – увеличить объем файла подкачки. Сделать это можно следующим образом:

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

Приведем несколько рекомендаций относительно правильного конфигурирования подкачки:

  • При наличии в системе нескольких жестких дисков, файл подкачки следует установить на наиболее производительном устройстве. Объяснять, почему это так не нужно – чем более быстрый диск, тем быстрее происходит обмен между диском и памятью. А значит ждать, пока система подгрузит недостающие куски программы или данных, придется меньше.
  • Рекомендуется выставлять файл подкачки на том же разделе, где установлена сама ОС.
  • Нежелательно выставлять флажок «По выбору системы». Будет лучше, поставить размер вручную.
  • После изменения настроек виртуальной памяти обязательно перезагрузите компьютер.
  • Очень полезно периодически производить дефрагментацию диска. Она улучшает целостность файловой системы и обеспечивает более быстрый доступ к дисковой, а значит, и виртуальной памяти.

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

Если памяти в системе много

На вопрос: сколько ставить виртуальной памяти? – трудно дать однозначный ответ. Многое зависит от размеров RAM компьютера

Если оперативки мало, то имеет смысл сделать pagefile.sys побольше. Если, наоборот, компьютер современный и производительный – следует уменьшить размер файла вдвое, а то и втрое от исходного, того который выставляет сама Windows. Ведь лишние операции с диском лишь тормозят работу системы.

При объеме памяти от 4 Гб потребность в ее виртуализации практически исчезает. А на современных компьютерах такие объемы нередкость. Приведем небольшую табличку соответствия размеров RAM размерам файла подкачки:

  • 512 Мб: 2248 Мб.
  • 1024 Мб: 2048 Мб.
  • 2048 Мб: 1512 Мб.
  • 4096: 1024 Мб.
  • 8 Гб: не нужен.

На эти данные вы можете ориентироваться в процессе настройки. Из таблички видно, что если RAM > 8 Гб, то в окне настроек можно смело выставить флажок «Без файла подкачки». Разумеется, указанные значения носят усредненный характер, т. е. рассчитаны исходя из потребностей среднестатистического пользователя. Если вы работаете с большими объемами данных, приведенные числа можно увеличить.

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

Как проверить скорость диска?

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

Нужен инструмент для тестирования винчестеров на производительность. Таких программ в сети достаточно. Мы предлагаем обратить внимание на утилиту под названием «HD Tune». Скачать ее можно по адресу: http://hdtune.com/. Тут же на сайте производителя программы можно ознакомиться особенностями ее использования. Главное окно программы выглядит как на рисунке ниже:

Есть платная и бесплатная версии программы. Для определения скорости чтения\записи диска достаточно бесплатной версии. На верхней панели окна программы имеется список всех установленных в системе винчестеров. Пользователю предлагается выбрать один из них и нажать на кнопку «Start». Утилита произведет тестирование винчестера и выдаст отчет о его производительности. То же самое нужно проделать и с остальными дисками, а затем сравнить полученные результаты на предмет обнаружения наиболее быстрого устройства.

Как правильно настроить файл подкачки - инструкция

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

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

Изменение размера и расположения файла подкачки.

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

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

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

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

  • Оперативная память имеет скорость, которая в несколько раз быстрее, чем скорость чтения/записи с жесткого диска, по этому, для ускорения работы компьютера предпочтительно увеличить объем ОЗУ, чем файла подкачки.
  • Windows XP в отличии от операционных систем Windows Vista, Windows7 и Windows 8, не требует большого файла подкачки.
  • При использовании объема оперативной памяти превышающего размер 2 Gb вы можете отключить его полностью, это не помешает роботе системы, если же вы заметили что компьютер начал «глючить», верните все обратно. Б
  • олее новые версии Windows требуют большое количество оперативной памяти для запуска приложений, используя их, увеличьте файл подкачки по максимуму.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Послесловие

В двух словах как-то оно вот оно

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

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Выбираем размер файла подкачки

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

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

Виртуальная память

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

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

Максимально возможный объем доступной виртуальной памяти зависит от разрядности операционной системы. Так в 32-разрядной системе процесс может адресовать не более 4 гигабайт (2 32) памяти. Для 64-разрядного процесса теоретическое ограничение составляет 16 экзабайт (2 64), а практически в современных 64-разрядных версиях Windows поддерживается адресное пространство объемом до 16 терабайт.

Примечание. Некоторые 32-разрядные версии Windows Server используют технологию PAE, позволяющую адресовать до 64ГБ памяти. Подробнее о PAE можно узнать .

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

Управление памятью происходит примерно так.

Виртуальное адресное пространство поделено на блоки равного размера, которые называют страницами (pages). Отсюда кстати и название page file — страничный файл. Физическая память также поделена на разделы, называемые страничными фреймами (page frames), которые используются для хранения страниц.

Каждому процессу при старте выделяется ″кусок″ адресного пространства в виртуальной памяти. Соответственно в каждый момент времени в памяти находятся страницы из виртуального адресного пространства каждого процесса. Страницы, находящиеся в физической памяти и доступные немедленно, называются действительными (valid pages), а страницы, которые в данный момент недоступны, например находящиеся на диске — недействительными (invalid pages).

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

При дефиците физической памяти диспетчер памяти выбирает фреймы, которые можно освободить и переносит их содержимое на диск, в файл подкачки. Принцип переноса такой: когда процесс использовал все выделенные ему фреймы, то при каждом страничном прерывании в этом процессе система удаляет из физической памяти одну из его страниц. Выбор страницы осуществляется по принципу первым пришел — первым ушел (first in, first out, FIFO), т.е. в файл подкачки переносится страница, дольше всех находившаяся в памяти.

У каждого процесса есть свой рабочий набор (working set) — набор страниц, находящихся в физической памяти. Рабочий набор определяет размер физической памяти, выделенной процессу, он имеет минимальный и максимальный размер. В момент запуска процессу назначается минимальный размер рабочего набора, т.е. минимальное количество страниц, которые гарантированно будут находится в оперативной памяти. При достаточном количестве свободной физической памяти процесс может увеличивать свой рабочий набор до размера, равного максимальному рабочему набору. Когда же начинается нехватка памяти, диспетчер виртуальной памяти начинает урезать рабочий набор всех процессов до минимального, удаляя лишние страницы из физической памяти.

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

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

Текущие настройки файла подкачки

Посмотреть текущий размер файла можно в оснастке Свойства системы (System Properties). Для этого надо нажать Win+R и выполнить команду sysdm.cpl . Затем перейти на вкладку «Advanced», в поле «Performance» нажать на кнопку «Settings» и в открывшемся окне перейти на вкладку «Advanced».

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

По умолчанию включено автоматическое управление размером файла подкачки. Это значит, что операционная система создает один файл подкачки pagefile.sys в корне системного диска и устанавливает его размер автоматически, исходя из своих потребностей.

Дамп памяти

Чтобы понять, чем руководствуется система при выборе размера файла подкачки, опять перейдем к теории и обратимся к такому понятию как дамп памяти (memory dump). Дело в том, что кроме расширения физической памяти файл подкачки имеет еще одно назначение — он используется при создании аварийных дампов памяти при сбоях системы. Происходит это следующим образом.

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

При следующей загрузке системы диспетчер сеанса (Session Manager Subsystem Service , SMSS) инициализирует файл подкачки и проверяет наличие в нем заголовка дампа. Если заголовок есть, то данные копируются из файла подкачки в файл аварийного дампа и делается соответствующая запись в системном журнале.

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

Полный дамп памяти (Complete memory dump) — в дамп записывается все содержимое оперативной памяти на момент сбоя, поэтому размер файла подкачки должен быть равен размеру физической памяти + 1Мб (для заголовка). Этот тип выбирается по умолчанию при количестве физической памяти меньше 4ГБ;
Дамп памяти ядра (Kernel memory dump) — в дамп записывается только память, выделенная для ядра ОС, драйверов устройств и приложений, работающих в режиме ядра. Дамп ядра занимает гораздо меньше места, чем полный дамп, при этом его как правило достаточно для определения причин сбоя. Этот тип дампа выбирается по умолчанию для систем с объемом ОЗУ 4ГБ и более. Минимальный размер файла подкачки должен составлять примерно 1/3 от объема физической памяти;
Малый дамп памяти (Small memory dump) — мини-дамп, в котором содержатся минимально необходимые данные: стоп-код и описание ошибки, список загруженных драйверов и информация о запущенных в момент сбоя процессах. Этот дамп требует файл подкачки не менее 2Мб;
Автоматический дамп памяти (Automatic memory dump) — новый тип дампа, появившийся в Windows 8\Server 2012 и более новых. На самом деле это тот же дамп ядра, единственная разница в том, что он позволяет системе динамически управлять размером файла подкачки, выбирая наиболее оптимальный размер.

Настройки дампа памяти находятся в расширенных свойствах системы, в разделе Загрузка и восстановление (Startup and Recovery). Здесь можно один из четырех типов дампа либо совсем отключить его создание.

Даже зная настройки дампа и объем физической памяти, не получится точно сказать, какого размера файл подкачки создаст система. Поэтому я решил немного поэкспериментировать, для чего взял в качестве подопытных 2 системы — клиентскую Windows 8.1 (x64) и серверную Windows Server 2012 R2 и проверил, как размер файла подкачки зависит от объема физической памяти и настроек дампа. Вот что получилось:

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

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

Определение необходимого размера файла подкачки

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

Однозначного ответа на этот вопрос нет. Единственный способ более-менее точно установить размер файла подкачки — это собрать в данной конкретной системе данные по потреблению памяти и использованию файла подкачки, выяснить, какой максимальный объем памяти может быть занят службами\приложениями и насколько реально используется файл подкачки. На основании полученных данных и следует выбирать размер файла.

Оперативно оценить текущее потребление виртуальной памяти можно в Task manager, в разделе Performance (производительность). В поле Commited показано отношение используемой виртуальной памяти к ее общему количеству. В моем примере на компьютере установлено 64Гб оперативной памяти и такого же объема файл подкачки. Текущий объем виртуальной памяти составляет 128Гб, занято 65Гб. Из них 62,4Гб приходятся на оперативную память и 2,6Гб на файл подкачки.

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

Memory, Commited Bytes — этот счетчик показывает, какое количество байт в виртуальной памяти занято текущими процессами. Когда значение Commited Bytes превышает объем физической памяти, система начинает активно использовать файл подкачки;
Memory, Available Bytes — объем свободной физической памяти на компьютере. Этот параметр показывает загруженность оперативной памяти, а чем меньше физической памяти остается, тем активнее система использует файл подкачки.
Memory, Commit Limit — значение, равное сумме объема оперативной памяти и текущего размера файла подкачки. По другому — максимальное количество виртуальной памяти, которое может быть выделено всем процессам без увеличения размера файла подкачки.
Memory, %Commited Bytes In Use — показывает процент использования виртуальной памяти. Представляет из себя отношение Commited Bytes \Commit Limit.
Paging File, %Usage — процент использования файла подкачки, текущее значение.
Paging File, %Usage Peak — процент использования файла подкачки, пиковое значение.

Для более глубокого анализа потребления памяти можно дополнительно использовать такие счетчики:

Memory, Page Fault\sec — количество страничных ошибок (прерываний) в секунду при обращении к страницам памяти. Напомню, что страничное прерывание возникает при обращении к странице памяти, которая была выгружена на диск.
Memory, Pages\sec — показывает, сколько страниц в секунду было прочитано\записано в рамках страничного прерывания. Проще говоря, этот счетчик показывает интенсивность обмена данными между оперативной памятью и файлом подкачки. Представляет из себя сумму счетчиков Pages Input\sec и Pages Outpit\sec .
Process, Working Set — показывает текущее использование физической памяти активными процессами. Значение Total выдает суммарный объем по всем процессам, но можно вывести данные отдельно и по каждому конкретному процессу. Этот счетчик не имеет прямого отношения к файлу подкачки, но может помочь при диагностике проблем с производительностью.

Как видно на примере, 64-гигабайтный файл подкачки реально используется всего на 2-3%. То есть для нормальной работы с избытком хватит файла подкачки размером 4Гб. И это при том, что сервер очень прилично нагружен, для менее загруженного компьютера цифры будут еще меньше.

Отдельно стоит упомянуть о выборе размера файла подкачки для компьютеров с ролью Hyper-V. Дело в том, что в силу особенностей архитектуры гипервизор не использует файл подкачки для виртуальных машин даже в случае нехватки физической памяти. На серверах Hyper-V файл подкачки нужен исключительно для целей хостовой системы, в которой используется лишь небольшая часть ОЗУ (обычно не более 2-4ГБ). Поэтому создавать файл подкачки, исходя из общего объема физической памяти в данном случае абсолютно бессмысленно.

Настройка

Определив необходимый размер, переходим непосредственно о настройке. Для изменения размера файла подкачки открываем свойства виртуальной памяти и отключаем автоматический выбор размера. Затем в поле «Drive» выбираем логический диск, на котором будет располагаться файл, выбираем опцию «Custom size», указываем начальный и максимальный размер файла подкачки и жмем «Set». Для того, чтобы изменения вступили в силу, после настройки может потребоваться перезагрузка системы.

Для файла подкачки существуют некоторые ограничения:

Максимальный размер файла может быть не более 16ТБ для 64-битной и не более 4ГБ для 32-битной системы;
Можно создавать до 16 файлов подкачки, но каждый должен быть расположен на отдельном томе (логическом диске);
Для возможности создания аварийного дампа памяти необходимо, чтобы файл подкачки (хотя бы один) находился на системном диске.

Для автоматизации процесса настройки можно использовать вот такой PowerShell скрипт (подставив свои значения):

# Disable automatic management for pagefile
$ComputerSystem = Get-WmiObject -Class Win32_ComputerSystem -EnableAllPrivileges
if ($ComputerSystem.AutomaticManagedPagefile) {
$ComputerSystem.AutomaticManagedPagefile = $false
$ComputerSystem.Put()
}
# Set manual size for pagefile
$PageFile = Get-WmiObject -Class Win32_PageFileSetting -EnableAllPrivileges
$PageFile.InitialSize = 4096
$PageFile.MaximumSize = 8192
$PageFile.Put()

Заключение

В заключение некоторые практические советы, которые могут помочь в настройке.

При ручной настройке необходимо указать начальный и максимальный размер файла. В этом случае система создает файл начального размера, при необходимости увеличивая его до тех пор, пока он не достигнет максимального. При увеличении размера возможна фрагментация файла подкачки, что скажется на его быстродействии. Для борьбы с фрагментацией можно изначально указать начальный и максимальный размер одинаковыми. Тогда система сразу выделит под файл все необходимое место, а статический размер файла исключит возможную фрагментацию в дальнейшем.
Для увеличения производительности системы файл подкачки можно перенести на другой раздел. Уточню, что переносить файл стоит только на раздел, находящийся на другом физическом диске. Размещение файла подкачки на дополнительном раздел одного и того же диска не приведет к повышению быстродействия. На практике имеет смысл перенос файла подкачки на отдельный SSD-диск, это может дать заметный прирост производительности.
Еще один теоретический 🙂 способ повысить скорость работы с файлом подкачки — разместить его на отдельном, специально выделенном только под него разделе, для которого установить размер кластера 64Кб (вместо 4Кб по умолчанию). При работе с большими файлами (такими, как файл подкачки) большой размер кластера может повысить производительность файловой системы. Чем больше размер кластера, тем большими блоками читаются\пишутся данные, соответственно для одинакового объема данных при размере кластера 64Кб потребуется в 16 раз меньше операций чтения\записи, чем для 4Кб.
Кое где встречаются советы полностью отключить файл подкачки. Действительно, в отдельных случаях это может дать некоторый прирост производительности, хотя лично я не вижу в этом большой пользы. Как можно убедиться с помощью счетчиков производительности, при наличии свободной физической памяти ОС и так использует файл подкачки по минимуму, поэтому прирост будет незначительный. Если же при отключенном файле подкачки в процессе работы закончится физическая память, то приложение, потребляющее память, будет остановлено, что чревато сбоем в работе и потерей данных. Кроме того, при отсутствии файла подкачки Windows не сможет сохранить дамп памяти в случае сбоя.
И последнее. Манипуляции с файлом подкачки не особо сильно влияют на производительность системы в целом. Повторюсь, при достаточном количестве физической памяти файл подкачки используется по минимуму. Если же в системе постоянно не хватает памяти и она активно использует файл подкачки, то в первую очередь стоит подумать о расширении физической памяти.