Что такое файл подкачки Windows?
Pagefile.sys или по-русски файл подкачки 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 благодаря своим размерам, да и просто своим существованием, заставляет систему думать, что вы всё-таки решились “докупить оперативы”.
Управление виртуальной памятью.
Размер файла подкачки регулируется автоматически. Однако настройки файла подвластны изменениям. Это можно сделать, проделав следующий путь:
Пуск – правой мышкой по Компьютер – выбрать Свойства.
В появившемся окне в левой части выберите Дополнительные параметры системы. Во вкладке Дополнительно выберите в пункте Быстродействие кнопку Параметры…
В окне Параметры быстродействия выберите вкладку Дополнительно. В разделе Виртуальная память нажмите на кнопку Изменить… Вы увидите параметры настроек виртуальной памяти. Снимите галку с автоматического определения объёма файла подкачки и установите свой. Здесь же можно заставить систему хранить файл подкачки на другом локальном диске, если винчестер разбит на несколько дисков. Просто укажите нужный диск, укажите размер или предоставьте выбор системе и нажмите Задать и ОК.
Отключение файла подкачки доступно из строки команд. Запускаем консоль от имени администратора и вводим команду:
fsutil behavior set encryptpagingfile 0
Перезагружайте машину и проверьте наличие файла на системном диске. Однако в последних версиях Windows система команду игнорирует. Так что оптимальным вариантом был бы запрет на создание файла из GUI.
Подытожим.
Да пусть будет. Он вам мешает? А программам будет откуда черпать дополнительные ресурсы… На крайний случай можно озаботиться переносом файла на другой раздел. Впрочем, проще озаботиться переносом менее значимых для системы файлов. Единственное оправдание запрета на создание файла подкачки – сжатие занимаемого пространства при создании собвенной сборки на основе текущей установки Windows. C последующим же включением назад.
Успехов