TL; DR версия: пусть Windows обрабатывает ваши настройки памяти / файла подкачки. Люди из MS потратили гораздо больше времени на размышления над этими вопросами, чем большинство из нас, сисадминов.
Многие люди, похоже, предполагают, что Windows помещает данные в файл подкачки по требованию. Например: что-то требует много памяти, и не хватает оперативной памяти, чтобы удовлетворить потребность, поэтому Windows начинает безумно записывать данные из оперативной памяти на диск в эту последнюю минуту, чтобы освободить оперативную память для новых требований.
Это неверно Там больше происходит под капотом. Вообще говоря, Windows поддерживает резервное хранилище , а это означает, что она хочет видеть все, что находится в памяти, также где-то на диске. Теперь, когда что-то приходит и требует много памяти, Windows может очень быстро очистить ОЗУ, потому что эти данные уже находятся на диске и готовы к переносу обратно в ОЗУ, если это необходимо. Таким образом, можно сказать, что большая часть того, что находится в файле подкачки, также находится в ОЗУ; данные были предварительно помещены в файл подкачки, чтобы ускорить новые требования к выделению памяти.
Описание конкретных задействованных механизмов займет много страниц (см. Главу 7 « Внутренние компоненты Windows» и обратите внимание, что скоро будет доступна новая редакция ), но есть несколько приятных моментов, на которые следует обратить внимание. Во-первых, большая часть того, что находится в ОЗУ, уже находится на диске - например, программный код, извлекаемый из исполняемого файла или DLL. Так что это не нужно записывать в файл подкачки; Windows может просто отслеживать, откуда изначально были получены биты. Во-вторых, Windows отслеживает, какие данные в ОЗУ используются наиболее часто, и таким образом удаляет из ОЗУ те данные, которые остались самыми длинными без доступа.
Полное удаление файла подкачки может привести к перегрузке диска. Представьте себе простой сценарий, когда некоторые приложения запускаются и требуют 80% существующей оперативной памяти. Это вынудит текущий исполняемый код из ОЗУ - возможно, даже код ОС. Теперь каждый раз, когда другие приложения - или сама ОС (!!) нуждаются в доступе к этим данным, ОС должна извлекать их из резервного хранилища на диске, что приводит к значительным сбоям. Поскольку без файла подкачки, служащего резервным хранилищем для переходных данных, единственное, что может быть разбито на страницы, - это исполняемые файлы и библиотеки DLL, в которых изначально были встроенные резервные хранилища.
Конечно, существует множество сценариев использования ресурсов. Не исключено, что у вас есть один из сценариев, при котором не будет побочных эффектов от удаления файла подкачки, но это меньшинство. В большинстве случаев удаление или уменьшение файла подкачки приведет к снижению производительности в сценариях пикового использования ресурсов.
Некоторые ссылки:
dmo отметил недавний пост Эрика Липперта, который помогает в понимании виртуальной памяти (хотя и менее связан с вопросом). Я помещаю это здесь, потому что я подозреваю, что некоторые люди не будут прокручивать вниз к другим ответам - но если вы находите это ценным, вы должны сделать голосование, так что используйте ссылку, чтобы попасть туда!