35

Вопрос отключения файла подкачки Windows уже обсуждался довольно часто, например, здесь, здесь и здесь. Люди продолжают высказывать ответы, в которых говорится:« Вы не должны отключать файл подкачки, даже если у вас достаточно ОЗУ », но я пока не вижу каких-либо конкретных, поддающихся проверке причин, приведенных для этого совета. Насколько я вижу, если вам никогда не нужно читать из файла подкачки (потому что у вас достаточно ОЗУ), производительность может быть только хуже, если она включена, из-за упреждающей записи Windows. В лучшем случае производительность будет такой же. Я не понимаю, как это можно улучшить, записав данные, которые вам никогда не понадобятся.

Итак, мой вопрос:

Предполагая, что у меня достаточно физической памяти для всего, что я делаю, есть ли причина, по которой я не должен отключать файл подкачки?

Допустим, версия Windows - Windows XP x64 SP2 или Windows Server 2003 x64 SP2 (то же самое). Если для Windows Server 2008 x64 все по-другому, мне было бы интересно услышать ответ на этот вопрос. Я ищу конкретные, объективные причины из хороших источников, а не просто мнения. Что-то вроде «вот тесты, выполненные с и без файла подкачки, и результаты были лучше с файлом подкачки, даже с достаточным количеством оперативной памяти» или «в соответствии с этой статьей MS KB статья X проблема возникает, если вы отключите файл подкачки».

Пока единственные причины, которые я видел, упомянуты:

  • Даже если вы думаете, что у вас достаточно оперативной памяти, у вас может закончиться. Хорошо, но для целей этого вопроса, давайте просто примем это как данность, что мне достаточно. Возможно, я только когда-либо читал свою электронную почту, и у меня 16 ГБ ОЗУ. Или 128 ГБ. Или 1 ТБ. Или что угодно - но этого достаточно для 100% того, что я делаю, 100% времени. Еще один способ думать об этом: если у меня есть x МБ физической ОЗУ и y МБ файла подкачки, и у меня никогда не заканчивается ОЗУ в этой конфигурации, я бы не стал лучше, с точки зрения производительности, с x+y МБ физической ОЗУ и без Файл подкачки?
  • В Windows "используется" файл подкачки, и он может работать не так надежно (из « Понимания влияния ОЗУ на общую производительность системы». Это довольно расплывчато, и мне трудно поверить, учитывая, что MS предоставила возможность отключить файл подкачки. ,
  • Windows знает, что делает лучше, чем вы. Нет - он не знает, что я не буду запускать больше программ или загружать больше данных, но я знаю.

13 ответов13

15

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

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

8

По этой ссылке:

ПРИМЕЧАНИЕ. Microsoft настоятельно рекомендует НЕ отключать и не удалять файл подкачки.

Чтобы отключить использование файла подкачки в Windows XP, у вас должно быть не менее 768 МБ ОЗУ.

Вот ссылка на Джеффа Этвуда .

8

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

Ответ на SF имеет 125 голосов и содержит ссылки на многие заслуживающие доверия статьи. Проверьте это:

https://serverfault.com/questions/23621/any-benefit-or-detriment-from-removing-a-pagefile-on-an-8gb-ram-machine/23684#23684

6

Более года я использую 32-битный ноутбук с Windows XP SP3 Professional с 4 ГБ оперативной памяти (Windows «официально» распознает только 3 ГБ) без файла подкачки. Люди в моих кругах также пытались напугать меня тем, что мне не следовало этого делать.

Я использую приложения, интенсивно использующие память - в любой момент времени у меня есть как минимум две виртуальные машины (vmware), на которых настроено 100% оперативной памяти, у меня есть как минимум один экземпляр Visual Studio (который имеет много установленных надстроек), SQL Server и несколько «небольших» приложений, таких как электронная почта, IM, IE и т. д.

Помимо всего этого, у меня также есть постоянный 256 МБ Ramdisk. Время от времени я использую Adobe Photoshop, пока остальные приложения работают. И я играю в несколько игр, включая Quake3, Neverwinter Nights, Oblivion.

И у меня нет никаких проблем.

Примечание для BlueNovember: наш друг очень любезно спросил по объективным причинам. Так что заявления типа «я подозреваю ...» неоправданны. Пожалуйста, узнайте перед публикацией! Гибернация не имеет ничего общего с подкачкой. Он использует отдельный файл с именем hiberfil.sys, и вы можете переходить в спящий режим без файла подкачки.

PS: Извините, чувак, я отказываюсь возвращаться к «нормальной» конфигурации, так что я могу на самом деле оценить, насколько быстрее эта настройка, но просто видеть намного меньше из-за того, что активность жесткого диска привела к мерцанию, очень утешительно. Я бы отключил файл подкачки только для этого, если не больше, потому что, по крайней мере, ваш компьютер «чувствует» себя быстрее, когда индикатор жесткого диска не мигает постоянно.

ЕДИНСТВЕННАЯ причина не отключать файл подкачки - это если вы используете Performance Monitor (PerfMon), так как это зависит от файла подкачки и требует минимум 2 МБ подкачки, иначе счетчики будут отсутствовать для следующих объектов: кэш, память, объекты, процессор и система.

4

Лучшая причина, которую я обнаружил, заключается в том, что файл подкачки позволяет Windows использовать больше физической оперативной памяти для дискового кэша, что может быть лучше, чем использование редко используемых страниц памяти. У Марка Руссиновича есть отличная статья « Расширяя границы Windows: виртуальная память», в которой говорится:

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

4

Я считаю, что если у вас нет файла подкачки, то в случае BSOD Windows не сможет написать мини-дамп. Это означает, что вы не сможете проанализировать проблему, используя соответствующие инструменты.

Это может вас не беспокоить, если вы не используете BSOD, и вы, безусловно, можете воссоздать файл подкачки достаточно быстро, но почему бы не подготовиться?

3

Я использую Windows XP с 4 ГБ (3,5 ГБ) оперативной памяти. Мне нужно запустить Visual Studio 2008, которая требует много памяти. Я часто открываю от 3 до 4 экземпляров, каждый из которых занимает 500 МБ или больше памяти.

Я был действительно раздражен этим, потому что всякий раз, когда мне нужно было быстро закрыть все экземпляры Visual Studio, Windows всегда будет закрывать экземпляры. Это заняло 3 минуты или больше. Я понял, что происходило то, что экземпляры Visual Studio выгружались из ОЗУ в файл подкачки, даже если было достаточно памяти. При закрытии приложения оно загружает все выгружаемые данные обратно в ОЗУ, а затем выключает его. По сути, он будет копировать 2 ГБ данных с диска в память, прежде чем закрыть экземпляры.

После отключения подкачки я заметил ОГРОМНОЕ повышение производительности при выключении нескольких экземпляров Visual Studio. Это займет 100% процессора в течение нескольких секунд, а затем исчезнет. Выключение Windows теперь возможно менее чем за несколько минут.

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

Кроме того, я сталкивался только с сбойными программами из-за нехватки памяти только несколько раз в год. Обычно, если я открываю слишком много программ, или программа сходит с ума и начинает выделять память как сумасшедшая.

Таким образом, я очень доволен отключением подкачки. Управление памятью в Windows довольно ужасное. Для тех, кто знаком с настройками памяти и знает о возможных проблемах, я бы порекомендовал это сделать.

2

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

Даже с 4 ГБ ОЗУ у вас, вероятно, недостаточно памяти для хранения всего. Ничто в диспетчере задач не покажет это. Зная это, дизайнеры Windows создали систему, в которой исполняемый код помещался в память только при необходимости, а затем сохранялся как можно дольше. Если система найдет лучшее использование для используемой памяти, она будет переназначена. Эта система используется Microsoft с NT3.1, выпущенного в 1993 году. Он регулярно используется в больших системах с 1960-х годов.

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

1

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

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

1

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

Этот риск перевесит любой прирост производительности, который вы можете получить.

1

Я предлагаю сохранить файл подкачки, но вручную исправить его на системный диск небольшого размера, например 128 МБ.

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

Кроме того, в некоторых операциях, таких как BSODing, счетчики производительности, приостановка / возобновление / гибернация, он может молча завершаться сбоем или некорректно работать, и каким-то образом страдает стабильность системы. Все это основано на моем опыте, и все это ушло с небольшим файлом подкачки.

Обратите внимание, что файл подкачки, скорее всего, будет заполнен в течение первых нескольких минут выполнения, и в большинстве случаев его больше не трогать, поэтому вы не будете страдать от обычного штрафа за файл подкачки. Вы МОЖЕТЕ получить предупреждение "у вас заканчивается память" в ближайшее время в сеансе, которое вы можете спокойно игнорировать (да, подкачка заполнена, и что?)

(Мне также очень не нравится superfetch, и я скорее оставляю память свободной для кэширования эффектов)

0

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

-1

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

Я использую 32-битную XP с 4 ГБ памяти (я знаю, что XP видит только 3 ГБ, но она чередуется и очень быстро) и хотел бы отметить два момента:

XP может видеть только 3 ГБ памяти. Когда моя машина уже имеет это, какой смысл файла подкачки? Это резервирование дисковой памяти, к которой она никогда не сможет получить доступ. Если это не отключает некоторую оперативную память. Таким образом, вы потратили свои с трудом заработанные деньги на топовую память, только чтобы обнаружить, что XP вместо этого использует диск для знакомств.

Если вы работаете с 32-битной XP и имеете 4 ГБ памяти, попробуйте этот эксперимент: выключите файл подкачки. Перезагрузите XP. Удалить файл подкачки. Запустите несколько программ, Word, Excel, Chrome, IE Ex, посмотрите фильм, прослушайте музыку или по телевизору. Все должно работать хорошо. Снова включите файл подкачки, на этот раз с очень маленьким размером, скажем, 25 МБ. Перезагрузите XP. Запустите несколько программ, Word, Excel, Chrome, IE Ex, посмотрите фильм, прослушайте музыку или по телевизору. Вскоре вы получите сообщение о том, что у вас заканчивается виртуальная память. Это доказывает, что XP использует файл подкачки, даже когда это не нужно. Проверьте вкладку производительности диспетчера задач (alt ctrl del). Пик будет значительно ниже общей физической памяти, так почему XP использует файл подкачки? И почему XP думает, что у вас заканчивается память?

Файл подкачки - это анахронизм времен DOS и Windows 98. Если у вас достаточно памяти, избавьтесь от нее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .