Виртуальная память и файл подкачки Windows. Быть или не быть?

Что такое файл подкачки Windows?

Page file или по-русски файл подкачки Windows, входящий в структуру виртуальной памяти – это особый файл, который используется Windows для хранения тех данных, которые уже не помещаются в оперативную память, когда та заполняется во время работы. Пресловутый файл подкачки Windows можно настроить, однако компьютер может с лёгкостью использовать файл подкачки Windows по своему усмотрению и без дополнительных настроек.

Нередко значение функции виртуальной памяти понимается неверно. Многие из пользователей воспринимают его как причину замедления работы компьютера (иногда не безосновательно). Теоретически всё ясно – пользоваться памятью, размещённой в области жёсткого диска, медленнее, чем физической. Но всем также ясно, что факт наличия файла подкачки Windows лучше, нежели его отсутствие. В чём проблема и кто прав? Начнём с того, что, говоря про виртуальную память, мы фактически подразумеваем именно ДВА файла : pagefile.sys и swapfile.sys.

Немного теории…

Просто чтобы вы знали с чем имеете дело. Подкачка (она же Paging) – схема управления оперативной памятью, при помощи которой система хранит и отдаёт данные на/с вторичных хранилищ по требованию в основную память. По такой схеме работы память может извлекать данные одноразмерными блоками, которые получили наименование страница (-ы) – page(s). (Для русского уха в понятиях подкачки и страница памяти общего ничего, хотя, как видно, английская этимология слов раскрывает “одинаковость” терминов.) Так вот, подкачка – важнейшая часть реализации виртуальной памяти любой операционной системы, благодаря которой хранилища, которые изначально не используются для работы с оперативной памятью, активно начинают её поддерживать.

Виртуальная память же – это техника или способ управления памятью, включающий использование и технических и программных средств. Эта “техника” представляет собой преобразование адресов памяти, используемых какой-то программой (виртуальные адреса) в физические (реально существующие) адреса памяти компьютера. Основное или главное хранилище памяти – как видится любой программой, службой, задачей – неразрывно следующие друг за другом сегменты адресного пространства. И Windows (в нашем случае) управляет этими ячейками виртуальных адресов, переназначая “реальную” память на виртуальную. За автоматический перевод виртуальных адресов в физические отвечает MMU (Диспетчер Памяти) центрального процессора. И программное обеспечение Windows даёт возможность пользователю расширять границы виртуальной памяти, создавая впечатление, что “оперативки” на компьютере стоит больше, чем есть на самом деле.

Виртуальная память = swap + page ?

Свэп файл (Swap file), “очередной” файл подкачки Windows располагается на жёстком диске. По умолчанию swap находится по адресу C:\swapfile.sys., второй лежит там же.  Оба файла по умолчанию скрыты (как сделать скрытые файлы доступными для вашего взора, прочтите статью Операции с ярлыками).

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

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

В тот момент, когда установленного объёма RAM не хватает, Windows возвращает данные для хранения обратно на жёсткий диск и размещает его в файл подкачки swapfile.sys винчестера. Этот процесс и есть виртуальная память системы в действии. Она (в виде swapfile) выполняет роль дополнительной. Если вы не пользуетесь уже запущенной программой, Windows отсылает её в виртуальную часть памяти pagefile.sys. Это уже – запасная память. Косвенным признаком этого процесса (изъятие данных из виртуальной памяти) может служит помигивание индикатора загрузки жёсткого диска в тот момент, когда пользователь выводит на передний план запущенную программу после некоторого простоя. Подробнее о том, какой файл и за что отвечает, можно узнать в статье про Swapfile.sys Hiberfil.sys Pagefile.sys.

Отключить файл подкачки – ускорить производительность?

Да с какой стати-то? Да, скорость чтения из виртуальной памяти гораздо ниже, нежели напрямую. Однако при отключении файла подкачки программа, лишённая памяти RAM, прекратит исполнение, и при запуске нескольких приложений Windows впадёт в ступор. Тяжеловесные программы вообще откажутся запускаться. Где же выгода? Windows прекрасно регулирует использование ресурсов без вмешательства пользователя. Отключённая виртуальная память сэкономит несколько гигабайт пространства диска, но тогда вам придётся забыть о стабильности Windows. Другое дело, что помещённая информация на диск всегда фрагментирована, и надежда на прирост производительности благодаря большим объёмам “виртуалки” сводится к минимуму. Удалять pagefile стоит лишь для его же профилактики: Windows его воссоздаст.

Как запретить повторное создание Pafefile.sys?

Однако ситуация меняется, если в качестве хранилища в системе используется не “крутилка”, т.е. обычный HDD и флешки, а твёрдотелы SSD. Представьте себе: скорости обмена данными возрастают в разы, а значит, и скорость превращения виртуальной памяти в физическую также в плюсе. Вобщем, у виртуальной памяти одни плюсы куда не кинь взгляд:

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

Управление виртуальной памятью.

Размер файла подкачки регулируется автоматически. Однако настройки файла подвластны изменениям. Это можно сделать, проделав следующий путь:

Пуск – правой мышкой по Компьютер – выбрать Свойства.

свойства системы

В появившемся окне в левой части выберите Дополнительные параметры системы. Во вкладке Дополнительно выберите в пункте Быстродействие кнопку Параметры

параметры быстродействия

В окне Параметры быстродействия выберите вкладку Дополнительно. В разделе Виртуальная память нажмите на кнопку Изменить… Вы увидите параметры настроек виртуальной памяти. Снимите галку с автоматического определения объёма файла подкачки и установите свой.  Здесь же можно заставить систему хранить файл подкачки на другом локальном диске, если винчестер разбит на несколько дисков. Просто укажите нужный диск, укажите размер или предоставьте выбор системе и нажмите Задать и ОК.

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

Подытожим.

Да пусть будет. Он вам мешает? А программам будет откуда черпать дополнительные ресурсы…

Успехов