лучший файл подкачки для 6 гб озу
Файл подкачки. Правильная настройка файла подкачки и его оптимальный размер.
Здравствуйте уважаемые читатели! Сегодня мы открываем цикл статей про оптимизацию компьютера на ОС Windows. Начнем мы с такой штуки как файл подкачки. В этой статье вы найдёте ответы на такие вопросы: Где находится файл подкачки?; Как правильно настроить файл подкачки?; Как задать оптимальный размер файла подкачки для разных объемов оперативной памяти?. Поехали!
Файл подкачки. Терминология.
Файл подкачки (pagefile.sys) — это системный файл на жестком диске (как правило на системном диске) компьютера, который служит как бы дополнением (расширением) к оперативной памяти. Также эту дополнительную память называют виртуальной памятью компьютера.
Виртуальная память — метод управления памятью компьютера для выполнения программ требующих большие объемы оперативной памяти, чем есть реально на компьютере. Недостающую оперативную память такие программы получают из файла подкачки. Другими словами, файл подкачки разгружает оперативную память в периоды её сильной загрузки.
Оперативная память в разы быстрее чем память файла подкачки. Если одновременно запустить несколько приложений в системе, которые потребляют много оперативной памяти, то данные неиспользуемых из них будут выгружены из оперативной памяти в менее быструю виртуальную память. Активные же приложения будут обслуживаться непосредственно оперативной памятью (RAM). Также, если например свернутое приложение развернуть, то данные из виртуальной памяти вновь перейдут в RAM.
Как настроить файл подкачки и изменить его размер?
Грамотная, правильная настройка файла подкачки поможет значительно ускорить работу компьютера. Этим грех было бы не воспользоваться. Где можно его настроить?
До пункта Быстродействие можно дойти также введя команду sysdm.cpl в командной строке Выполнить (командную строку можно открыть нажав WIN+R ).
Для отключения файла подкачки поставьте переключатель в пункт Без файла подкачки.
Размер файла подкачки Windows. Какой правильный?
Конечно, это субъективный взгляд и данные показатели не могут быть абсолютно точными, рекомендуемыми, но на практике именно они давали эффект. Вы можете сами поэкспериментировать и найти лучшее сочетание для вашего компьютера. Тут есть и некоторые примечания.
Правильное расположение файла подкачки. На каком диске включить?
Если у вас на компьютере несколько физических дисков, то устанавливать файл подкачки нужно на наиболее быстром диске. Считается, что файл подкачки делить на 2 части:
При этом система во время работы обращается к наименее загруженному разделу, не трогая первый.
Также рекомендуется, под файл подкачки создавать отдельный раздел, с объёмом памяти равной либо близкой размеру файла подкачки (например 2024мб). Эта хитрость позволяет избавиться от фрагментации данного файла.
Итоги:
Надеюсь приведенные в статье советы помогут вам правильно настроить файл подкачки на вашем компьютере и оптимизирует его работу. Если есть вопросы пишите в комментариях, постараюсь дать на них исчерпывающие ответы.
Оптимальный размер файла подкачки в Windows
Файлом подкачки называют скрытый системный файл c названием pagefile.sys. Windows использует его, когда основной оперативной памяти (RAM) недостаточно. Из оперативной памяти в pagefile.sys перемещаются документы, которые Windows не использует прямо сейчас. Увеличение файла подкачки до оптимального размера позволит запускать без «лагов» и «тормозов» игры и ресурсоемкие приложения.
Следует понимать, что файл подкачки не может полноценно заменить оперативную память из-за недостатка скорости чтения/записи и ряда других параметров (на SSD-дисках ситуация получше). Оптимальный размер файла зависит от того, сколько памяти ОЗУ установлено в системе: 4, 6, 8, 16 гигабайт и так далее. Современные игры требуют более 4, 6 или даже 8 Гб оперативной памяти, а её нехватка приводит к системным ошибкам, проблемам с установкой или просто сильным тормозам в игре.
Навигация по статье:
Использование pagefile.sys и swapfile.sys в Windows
Оперативная память нужна Windows для загрузки в нее используемых на данный момент программ, чтобы процессор имел к ним быстрый доступ. Если объема ОЗУ недостаточно, либо приложение не используется (свернуто или работает в фоновом режиме), Windows переместит часть информации в файл подкачки pagefile.sys.
Виртуальная память (жесткий диск) работает гораздо медленнее, чем оперативная. Если файл подкачки будет использоваться в играх или требовательных к ресурсам ОЗУ приложениях, возможны серьезные проблемы с быстродействием. Увеличение файла подкачки не поможет — виртуальная память слишком медленно работает. Решение: увеличивать объем ОЗУ и уменьшать файл подкачки, либо переносить pagefile.sys на более быстрые SSD-диски.
Отдельно следует упомянуть про системный файл swapfile.sys, использующийся в новых версиях Windows (8/8.1, 10). Многие пользователи уже поинтересовались, можно ли перенести данный файл на другой диск или удалить полностью. Можно, но пользы от этого не будет.
Несколько фактов о swapfile.sys:
Файл включается и начинает работать вместе с pagefile.sys, но при этом функционирует отдельно от него. Поскольку swapfile имеет динамический объем — размер файла изменяется в зависимости от нагрузки — даже 256 мегабайт места вряд ли будет израсходовано. Все это делает отключение swapfile.sys абсолютно бесполезным — его можно перенести только на быстрый диск для ускорения работы системы.
Файл подкачки для SSD-дисков
При наличии SSD-диска, файл подкачки лучше перенести на него, поскольку данный тип накопителей работает быстрее в сравнении с HDD. При этом, если на компьютере наблюдается проблема с производительностью, куда логичнее будет сначала нарастить объем ОЗУ, а уже затем приобретать SSD и производить тонкую настройку компьютера.
При достаточном объеме оперативной памяти Windows практически не будет использовать файл подкачки. Есть миф, что постоянное использование файла подкачки на SSD вредит диску, поскольку диск быстро «откручивает» отведенное количество циклов записи. На самом деле это не так, и такие накопители отлично подходят для размещения файлов подкачки именно на них.
Файл подкачки отлично справляется поставленной задачей на SSD:
На практике это приводит к существенному увеличению производительности после переноса файла подкачки на SSD даже на компьютерах с 2-4 Гб оперативной памяти. Отключать файл или перемещать на HDD не нужно, даже если весь Windows работает на SSD и классического жесткого диска нет вообще.
Отдельно следует отметить перенос файла подкачки с жесткого диска на флешку (flash-накопитель). Заранее точно нельзя сказать, даст ли это увеличение производительности и на сколько. Нужно попробовать переместить файл и провести сравнительные тесты. Обычно прирост производительности наблюдается на старых компьютерах, где жесткие диски заведомо медленнее флеш-памяти.
Оптимальный размер файла подкачки
Windows позволяет выполнить несколько действий с файлом подкачки: отключить, установить ограничение по размеру или сделать файл неограниченным. В последнем случае размер pagefile.sys будет определяться по усмотрению системы. При выборе размера файла подкачки можно пойти двумя путями: либо установить усредненные значения, либо попробовать определить размер файла исходя из конкретных задач. Второй вариант, естественно, предпочтительнее.
Стандартные настройки выглядят приблизительно так:
В старых версиях Windows при определенном размере памяти могут быть ограничения на размер pagefile.sys. При 4 Гб ОЗУ система может сказать, что 2048 Мб файла подкачки — это и рекомендуемый объем, и максимально возможный. При 16 Гб и выше можно установить как минимальный размер файла подкачки (1-2 гигабайта).
Такого объема ОЗУ достаточно для выполнения практически любых задач, чтобы Windows не приходилось использовать «медленную» память жесткого диска. Полностью отключать подкачку не рекомендуется при любом объеме ОЗУ: этот файл нужен Windows и многим приложениям, без него при запуске приложений и игр может возникать ошибка «недостаточный объем памяти».
Гораздо лучше ориентироваться не по этой таблице, а определить оптимальный размер файла подкачки исходя из конкретных задач. В современных реалиях новая игра или даже много открытых вкладок браузера могут загрузить все 4, 6 или 8 гигабайт ОЗУ на все 100%, поэтому универсального решения нет.
Чтобы определить оптимальный размер файла для себя, нужно:
Примеры расчета:
Но при загрузке в 14 Гб из 16 по формуле уже выйдет 14х2-16=12 Гб. Это, конечно, уже не сработает — если система сжирает практически 16 Гб ОЗУ, то дальше помочь Windows можно лишь дальнейшим наращиванием памяти до 32 Гб и более, ускорением этой памяти и другими радикальными методами. Осталось определиться, как выставить эти настройки на разных версиях Windows.
Windows 10
В Windows 10 можно нажать кнопку Пуск, ввести в строке поиска «производительность» и сразу перейти в раздел Настройка представления и производительность системы. В это меню также можно попасть через Панель управления.
Для изменения файла подкачки в Windows 10 нужно:
На этой же странице можно полностью отключить файл подкачки, выбрав соответствующий пункт. После отключения, файл пропадет только после перезагрузки компьютера. Также можно выбрать диск, на котором файл будет располагаться. Кто не помнит или не знает, 1 Гб — 1024 Мб, 2 Гб — 2048 Мб, 4 Гб — 4096 Мб и так далее.
Windows 7, 8/8.1
Изменить размер файла подкачки в Windows 7, 8 и 8.1 можно в Свойствах системы. Для этого нужно нажать правой кнопкой мыши по значку Мой компьютер и выбрать пункт «Свойства». В левом меню будет располагаться кнопка «Защита системы». В настройки системы также можно перейти через Панель управления — это касается любой версии Windows.
Также можно сразу попасть на страницу настроек, написав команду sysdm.cpl в строке «Выполнить» (Win + R). Пошаговая инструкция:
После этого откроется окно, которое приблизительно одинаково в Windows всех версий с 7 по 10 включительно. Здесь можно установить нужный размер файла подкачки, выбрать диск для него или отключить функционал вовсе. По умолчанию может стоять настройка «Автоматически определять размер файла подкачки» — эту галочку нужно будет снять, чтобы выставить свои параметры. Изменения вступят в силу после перезагрузки компьютера.
Windows XP
Для Windows XP оптимальным размером файла подкачки считаются следующие значения (в зависимости от оперативной памяти):
Опять же, расчеты носят индивидуальный характер, и все зависит от того, для чего используется конкретный компьютер. Для изменения размера файла подкачки в Windows XP нужно выполнить приблизительно такие же действия, как и на новых Windows:
Как и во всех остальных случаях, полное отключать файл подкачки не нужно. Достаточно оставить выбор его размера на усмотрение системы, либо самому выставить минимальный размер вы 512-1024 Мб.
Файл подкачки Windows 7
Младшие операционные системы, такие как Виндовс 7, имеют недостаточный объем оперативной памяти. Для увеличения быстродействия компьютера с 1-4 ГБ ОЗУ требуется увеличить величину файла подкачки в Windows 7.
Что такое файл подкачки и для чего он нужен
Файлом подкачки является дополнительный объем пространства на жестком диске, выделяемый для размещения информации, необходимой для работы программ и не умещающейся в оперативной памяти. Это дополнительное пространство на винчестере называется виртуальной памятью, или своп-файлом. Оно является системным и скрытым, обозначается pagefile.sys и по умолчанию размещается на диске C. Менять его название нельзя.
Если работа приложений тормозится или появляется сообщение о недостатке памяти.
Это означает, что нужно увеличить ОЗУ на компьютере (но лучше сделать и то и другое):
Виндовс 7 при своей установке автоматически размещает виртуальную память в системном разделе жесткого диска и определяет ее размеры, но у пользователя есть возможность изменить ее месторасположение и размер.
Оптимальные размеры файла подкачки
Принято считать, что минимальным размером файла подкачки является величина, равная объему «оперативки», а максимальным — в 2 раза превышающая ее. Если размер установленного ОЗУ 2 ГБ, то величина pagefile.sys должна быть 2-4 ГБ.
Но при настройке минимальной и максимальной величин виртуальной памяти ее размер становится динамически изменяемым. Это означает, что при работе возникнет эффект фрагментации, и это будет вызывать замедление работы.
Для того чтобы избежать фрагментации и сделать память статической, максимальную и минимальную величины файла подкачки делают одинаковыми.
Очистка своп-файла при завершении работы
В конце выполнения пользовательских программ часть информации остается в виртуальной памяти, занимая в ней место и фрагментируя ее. Если программа открыта, но длительное время не используется, то ее данные тоже помещаются в своп-файл, и поэтому она может тормозить при обращении к ней.
Для увеличения быстродействия системы необходимо производить очистку виртуальной памяти после закрытия программ.
Чтобы настроить очистку pagefile.sys, необходимо:
Это повысит скорость выполнения программ, но может увеличить время загрузки и выключения компьютера. При размещении виртуальной памяти на жестком диске будет отмечаться частое обращение системы к винчестеру.
В начальных уровнях операционных систем Windows secpol.msc может не быть. Тогда нужно установить систему более высокого уровня или специальный патч редактора групповых политик.
Выбор места расположения своп-файла
По умолчанию своп-файл ставится на системный диск C, но для увеличения быстродействия системы его можно установить и на другие жесткие диски. Виндовс 7 предоставляет возможности выбора.
Для того чтобы изменить параметры pagefile.sys, нужно:
Там содержится информация о размере pagefile.sys и метке диска, на котором он расположен. Для увеличения скорости работы компьютера нужно предложить новое расположение виртуальной памяти и ее размер и подтвердить свой выбор. Установка файла подкачки на два жестких диска может не улучшить ситуацию. Лучше разместить его на винчестере, отличном от системного.
Важно отметить, что 32-разрядная Windows 7 видит только 3 ГБ «оперативки» и не позволит увеличить своп-файл больше, чем на 40%, при условии что на жестком диске есть свободное место такого размера.
Отключение и включение файла подкачки
Чтобы отключить pagefile.sys, необходимо зайти в свойства компьютера и в разделе «Виртуальная память» выбрать опцию «Без файла подкачки». Для подключения pagefile.sys следует во вкладке «Указать размер» определить размеры, нажать кнопку «Задать» и подтвердить свой выбор. При изменении параметров может потребоваться перезагрузка операционной системы.
В каких случаях необходимо увеличить размер файла
Компьютеры с недостаточным для выполнения некоторых задач объемом оперативной памяти могут работать медленно или «зависать», уведомляя о своем недостатке. В том случае, если архитектура не позволяет физически увеличить ОЗУ, можно увеличить размер файла подкачки. Это позволит системе работать с большей скоростью и без «зависаний».
Использование файла подкачки на SSD
SSD — это твердотельный накопитель, который (в отличие от HDD) представляет собой не диск, а набор микросхем. Скорость считывания информации с HDD ограничена скоростью вращения его шпинделя, часто это 5400 об./мин. Благодаря этому операции чтения и записи с SSD быстрее в 50-100 раз. Поэтому с точки зрения скорости обращения к диску имеет смысл размещать виртуальную память на твердотельном накопителе.
Полагают, что использование SSD для своп-файла уменьшает срок его работы, так как накопитель имеет ограниченное количество перезаписываний (10 000 раз). Но на срок работы винчестера оказывает влияние большое количество факторов. Однозначный вывод о степени влияния сделать невозможно.
Если же совсем отключить файл подкачки, то размера оперативной памяти не хватит, и система будет тормозить.
Есть еще способ увеличить размер виртуальной памяти — использовать флешку. Желательно, чтобы на ней было свободно не меньше 2 ГБ памяти и подключение по USB 3.0 (при наличии соответствующего порта на компьютере).
Microsoft разработала технологию ReadyBoost, чтобы использовать флеш-накопитель для увеличения эффективности работы программ. За работу этой технологии отвечает служба Superfetch.
В «Панели управления» необходимо выбрать вкладку «Администрирование» и открыть «Службы», в списке найти Superfetch. Далее следует удостовериться, что она работает, или подключить ее, выбрав «Автоматический запуск».
Теперь следует отформатировать флеш-накопитель в файловой системе NTFS, убрав галочку с быстрого форматирования. Теперь, при включенном автозапуске, при подключении флешки будет появляться окно с предложением «Ускорить работу системы», при нажатии на которое происходит переход в параметры ReadyBoost. В них нужно подтвердить использование устройства и выделить место под виртуальную память. Рекомендуется выделить весь объем.
Работа системы при этом ускорится. При наличии нескольких флешек и портов USB на компьютере возможно использовать их все.
Выбираем размер файла подкачки
Вопрос о размере файла подкачки довольно часто встречается на различных технических ресурсах, однако однозначных рекомендаций на этот счет нет. Попадаются как советы установить файл подкачки в 1.5-2 раза больше объема установленной памяти, так и полностью отключить его. И то и другое абсолютно бессмысленно с практической точки зрения. Поэтому сегодня речь пойдет о том, что такое файл подкачки (он же своп-файл, он же страничный файл) и как правильно выбрать и настроить его размер.
Чтобы понять, для чего нужен файл подкачки, стоит сначала разобраться в принципах работы памяти в Windows. Поэтому начнем с теории.
Виртуальная память
Как правило, говоря о памяти мы имеем в виду модули оперативной памяти, физически установленные на компьютере, или физическую память. Объем доступной физической памяти жестко ограничен и зависит от возможностей оборудования, разрядности операционной системы и условий лицензирования. Для того, чтобы обойти эти ограничения, в операционных системах Windows используется такой ресурс, как виртуальная память.
Операционная система Windows работает не с физической, а именно с виртуальной памятью. Технически виртуальная память состоит из физической памяти (ОЗУ) и специального файла(-ов) подкачки, объединенных в единое виртуальное адресное пространство. Для каждого запущенного процесса выделяется собственное, отдельное от других процессов адресное пространство в виртуальной памяти, в котором он выполняется и которым управляет. Для обращения к памяти используются указатели на адреса в виртуальном адресном пространстве, при этом сам процесс не в курсе 🙂 того, где именно хранятся его данные — в ОЗУ или в файле, это решает операционная система.
Максимально возможный объем доступной виртуальной памяти зависит от разрядности операционной системы. Так в 32-разрядной системе процесс может адресовать не более 4 гигабайт (2 32 ) памяти. Для 64-разрядного процесса теоретическое ограничение составляет 16 экзабайт (2 64 ), а практически в современных 64-разрядных версиях Windows поддерживается адресное пространство объемом до 16 терабайт.
Примечание. Некоторые 32-разрядные версии Windows Server используют технологию PAE, позволяющую адресовать до 64ГБ памяти. Подробнее о PAE можно узнать здесь.
В отличии от физической, виртуальная память имеет гораздо более гибкие ограничения. Это позволяет одновременно выполняться большому количеству процессов, которые не смогли бы поместиться в физической памяти. Таким образом, основная задача механизма виртуальной памяти — расширение доступной памяти компьютера.
Управление памятью происходит примерно так.
Виртуальное адресное пространство поделено на блоки равного размера, которые называют страницами (pages). Отсюда кстати и название pagefile — страничный файл. Физическая память также поделена на разделы, называемые страничными фреймами (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). Дело в том, что кроме расширения физической памяти файл подкачки имеет еще одно назначение — он используется при создании аварийных дампов памяти при сбоях системы. Происходит это следующим образом.
Во время загрузки операционная система создает карту секторов, занимаемых на диске файлом подкачки и сохраняет ее в памяти. При сбое системы проверяется целостность этой карты, драйвера диска и управляющей структуры дискового драйвера. Если целостность их не нарушена, то ядро системы вызывает специальные функции ввода\вывода, предназначенные для сохранения образа памяти после системного сбоя и записывает данные из памяти на диск, в файл подкачки, используя сохраненную карту секторов.
Соответственно при автоматическом управлении файлом подкачки система ориентируется на настройки создания аварийного дампа памяти, выбирая размер файла в соответствии с типом дампа:
• Полный дамп памяти (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 и проверил, как размер файла подкачки зависит от объема физической памяти и настроек дампа. Вот что получилось:
Windows 8.1 4Гб ОЗУ | Windows 8.1 8Гб ОЗУ | Windows Server 2012 R2 4Гб ОЗУ | Windows Server 2012 R2 8Гб ОЗУ | |
Полный дамп | 4352 Мб | 8704 Мб | 4352 Мб | 8704 Мб |
Дамп ядра | 4096 Мб | 8192 Мб | 4096 Мб | 8192 Мб |
Автоматический дамп | 704 Мб | 1280 Мб | 1408 Мб | 1920 Мб |
Малый дамп | 320 Мб | 512 Мб | 1408 Мб | 1920 Мб |
Нет дампа | 320 Мб | 512 Мб | 1408 Мб | 1920 Мб |
Как видите, размер файла напрямую зависит не только от объема ОЗУ и настроек дампа, но и от типа операционной системы. Кроме того, отключение дампа не означает полное отсутствие файла подкачки.
Также стоит напомнить, что это начальные значения. При нехватке виртуальной в процессе работы памяти система может увеличивать файл подкачки вплоть до максимального значения, которое при автоматической настройке составляет 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 скрипт (подставив свои значения):
Заключение
В заключение некоторые практические советы, которые могут помочь в настройке.
• При ручной настройке необходимо указать начальный и максимальный размер файла. В этом случае система создает файл начального размера, при необходимости увеличивая его до тех пор, пока он не достигнет максимального. При увеличении размера возможна фрагментация файла подкачки, что скажется на его быстродействии. Для борьбы с фрагментацией можно изначально указать начальный и максимальный размер одинаковыми. Тогда система сразу выделит под файл все необходимое место, а статический размер файла исключит возможную фрагментацию в дальнейшем.
• Для увеличения производительности системы файл подкачки можно перенести на другой раздел. Уточню, что переносить файл стоит только на раздел, находящийся на другом физическом диске. Размещение файла подкачки на дополнительном раздел одного и того же диска не приведет к повышению быстродействия. На практике имеет смысл перенос файла подкачки на отдельный SSD-диск, это может дать заметный прирост производительности.
• Еще один теоретический 🙂 способ повысить скорость работы с файлом подкачки — разместить его на отдельном, специально выделенном только под него разделе, для которого установить размер кластера 64Кб (вместо 4Кб по умолчанию). При работе с большими файлами (такими, как файл подкачки) большой размер кластера может повысить производительность файловой системы. Чем больше размер кластера, тем большими блоками читаются\пишутся данные, соответственно для одинакового объема данных при размере кластера 64Кб потребуется в 16 раз меньше операций чтения\записи, чем для 4Кб.
• Кое где встречаются советы полностью отключить файл подкачки. Действительно, в отдельных случаях это может дать некоторый прирост производительности, хотя лично я не вижу в этом большой пользы. Как можно убедиться с помощью счетчиков производительности, при наличии свободной физической памяти ОС и так использует файл подкачки по минимуму, поэтому прирост будет незначительный. Если же при отключенном файле подкачки в процессе работы закончится физическая память, то приложение, потребляющее память, будет остановлено, что чревато сбоем в работе и потерей данных. Кроме того, при отсутствии файла подкачки Windows не сможет сохранить дамп памяти в случае сбоя.
• И последнее. Манипуляции с файлом подкачки не особо сильно влияют на производительность системы в целом. Повторюсь, при достаточном количестве физической памяти файл подкачки используется по минимуму. Если же в системе постоянно не хватает памяти и она активно использует файл подкачки, то в первую очередь стоит подумать о расширении физической памяти.