Любая причина не отключать файл подкачки Windows, учитывая достаточно физической оперативной памяти?

24153
EMP

Вопрос отключения файла подкачки 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 знает, что делает лучше, чем вы. Нет - он не знает, что я не буду запускать больше программ или загружать больше данных, но я знаю.
35
эта тема обсуждалась до тошноты практически на каждом форуме, связанном с технологиями. Вывод: делай или не делай. если это работает для вас, отлично, продолжайте свою жизнь. если это не так, ну, виртуальная память всего в нескольких щелчках мыши. кроме этого, мы тратим наше время здесь. Лучше обсудить лучший браузер или антивирус! :) (кстати, эта ваша ссылка - отличное чтение, рекомендуется) 15 лет назад 14
@ Молли Вы имеете в виду, ВАША ссылка? :) EMP 15 лет назад 1
ну, я недавно ссылался на эссе мистера Поузи в похожей теме :) 15 лет назад 0
Почему Windows преимущественно записывает в файл подкачки? Я не вижу никакой причины, почему это улучшило бы производительность. Zifre 14 лет назад 0
Я не думаю, что это стоит отдельного ответа, но учтите, что данные, хранящиеся в ОЗУ, могут быть менее надежными, чем данные, хранящиеся на диске. Я видел сообщения о повреждении с использованием RAM-дисков. Оперативная память нестабильна, диск - нет Для кеширования данных и сохранения их для последующего использования запись на диск дает вам гораздо меньше шансов избежать повреждения, чем крошечные изменения, происходящие при кешировании в оперативной памяти. ssube 14 лет назад 0
@Molly: Если вы думаете, что это пустая трата времени, тогда вообще не комментируйте, просто игнорируйте и продолжайте. Зачем критиковать вопрос? Вы можете не заботиться, но другие делают. Mas 13 лет назад 3
Я чувствую ваше разочарование по этому поводу. Я недавно перешел с 4 ГБ ddr2 до 8 ГБ ddr3. Парень на работе говорит: «Обязательно сделайте размер свопа 8-12 ГБ». ЗАЧЕМ? Я делаю то же самое, что и раньше, и теперь у меня в два раза больше физического барана; зачем мне БОЛЬШЕ места подкачки? LoveMeSomeCode 13 лет назад 2
Не субъективно - пожалуйста, внимательно прочитайте вопрос, особенно предположение. Я спрашиваю конкретные причины из надежных источников, а не мнения. EMP 13 лет назад 2
Dupe of: [Windows Swap (файл страницы): включить или отключить?] (Http://superuser.com/questions/14795/windows-swap-page-file-enable-or-disable) Ƭᴇcʜιᴇ007 13 лет назад 0
http://www.tweakhound.com/2011/10/10/the-windows-7-pagefile-and-running-without-one/ Kokizzu 11 лет назад 0
@Zifre Превентивная запись в файл подкачки повышает производительность, поскольку делает страницы отбрасываемыми, которые в противном случае пришлось бы записывать, прежде чем их можно было бы удалить. Когда у вас мало памяти, ввод-вывод обычно тоже дорогой, поэтому имеет смысл сделать ввод-вывод раньше. David Schwartz 8 лет назад 0
@EMP Главное, что вам не хватает, это то, что Windows принимает другие решения, когда у нее есть файл подкачки, чем когда ее нет, и эти решения могут иметь значение, даже если файл подкачки никогда не читается и не записывается. Файл подкачки действует как защитная сеть, которая позволяет Windows быть более агрессивной, зная, что она может использовать файл подкачки, если это необходимо. Это позволяет использовать больше оперативной памяти в качестве дискового кэша, что повышает производительность. David Schwartz 8 лет назад 0
Гм, но Windows не "пишет преимущественно в файл подкачки". Запись в файл подкачки происходит при перемещении страниц из измененного списка страниц в список резервных страниц. Страницы помещаются в измененный список только после того, как они были удалены из рабочих наборов. Это понятие началось, потому что Windows XP неправильно назвала график «фиксация платежей» в диспетчере задач как «использование PF», что заставило людей думать, что в большинстве случаев использование файла подкачки происходит, когда это не так. Jamie Hanrahan 8 лет назад 0

13 ответов на вопрос

15
Captain Segfault

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

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

Я согласен, просто оставь это. user10547 15 лет назад 0
Может ли Windows загружаться даже с незаписываемого диска? salmonmoose 15 лет назад 0
Да, но вам нужно изменить многие вещи, чтобы заставить его работать. Например, реестр должен быть на записываемом диске, поэтому вам нужно перенаправить его на виртуальный диск и т. Д. ... Christopher 15 лет назад 0
Конечно, есть причина отключить ваш своп - основной причиной является то, что Windows выгружает память приложения, даже когда физическая память свободна. Поэтому, когда вы возвращаетесь к своему компьютеру после того, как оставляете его в течение часа, вы тратите слишком много времени, пока жесткий диск переполняет вашу физическую память. Это абсолютно ужасный совет, чтобы сказать, что нет причин отключать файл подкачки. PP. 14 лет назад 1
Вы на самом деле * заметили * ускорение от отключения файла подкачки? Лично у меня нет, и из того, что я прочитал, большинство людей не делают. Как сказал @Captain Segfault, это микрооптимизация. Sasha Chedygov 14 лет назад 0
Причиной "сделать" это будут люди, которым требуется больше места. У меня есть клиентский сервер, который я недавно обновил до 48 ГБ ОЗУ, теперь я вынужден увеличить файл подкачки, чтобы компенсировать это. Это, очевидно, уменьшит пространство для приложений, журналов, обмена и т. Д. Это смешное IMO, потому что 48 ГБ, которые я только что добавил, более чем достаточно для запуска сервера. Еще одна причина, это то, что удары приводов от всех операций ввода-вывода могут показаться незначительными, но в долгосрочной перспективе они имеют значение. Master Mick 9 лет назад 0
8
Lance Roberts

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

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

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

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

Примечание: я думаю, что это число слишком мало, у вас должно быть чрезмерное количество памяти перед отключением файла подкачки, и я уверен, что вы все равно столкнетесь с различными проблемами. Lance Roberts 15 лет назад 0
Однако они не приводят причину этой рекомендации - и я подозреваю, что это просто потому, что большинство пользователей не знают, достаточно ли у них оперативной памяти, поэтому это хорошее «практическое правило». Что касается приложений, выделяющих память, которую они не используют, эта память должна быть «зарезервирована», а не «зафиксирована», поэтому она использует только виртуальное адресное пространство. Если они выделяют много памяти, им не нужен файл подкачки, это меня не спасет. EMP 15 лет назад 0
Ссылка на пост в блоге Джеффа, кажется, не работает. Isaac 7 лет назад 0
@ Исаак, исправлено .. Lance Roberts 7 лет назад 1
8
MDMarra

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

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

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

хотя все это может быть правдой, и я, безусловно, согласен, я с радостью предоставил ссылку, по которой Microsoft (ребята, которые так много времени думали об этом :) настоятельно рекомендуют отключить виртуальную память (на моем eee pc нет файла подкачки в течение почти 2 лет, задолго до того, как MS выпустила эти рекомендации). При этом на настольном компьютере с современным жестким диском и кеш-памятью монстра это просто не имеет значения. впрочем, каждому свое. ссылка (PDF, стр.10): http://download.microsoft.com/download/2/0/a/20ac945c-34d0-4a60-8245-f80e80fe954f/GuidelinesForDesigningULCPCForWindowsXP-MSFT%20.pdf 15 лет назад 3
Если вашему eee 2 года, в нем есть SSD первого поколения. Отключение файла подкачки на этом продлит срок службы SSD, но, очевидно, не является стандартным случаем. MDMarra 15 лет назад 3
я не говорил стандартную процедуру, не так ли? :) и я не буду рекомендовать отключать файл подкачки как «хорошую компьютерную практику», однако, если кто-то захочет это сделать, то пусть. Он доказал, что работает снова и снова без взломов, несмотря на все «плохие вещи», которые произойдут. и если это не сработает, ну, совершенно новый файл подкачки находится всего в нескольких кликах. и если вы страдаете от медленного жесткого диска / SSD, есть программы, которые позволят вам назначить системную память в качестве кэша жесткого диска для ускорения подкачки. 15 лет назад 0
Я прочитал этот ответ (на самом деле это связано в моем вопросе), и именно по этой причине я разместил этот вопрос. EMP 15 лет назад 0
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 МБ подкачки, иначе счетчики будут отсутствовать для следующих объектов: кэш, память, объекты, процессор и система.

вы всегда найдете людей, которые склонны рассказывать другим, как им следует управлять своими компьютерами, питая культуру страха («плохие вещи» могут произойти http://survive2012.com/) 15 лет назад 1
Хех. Неплохо. И вы заметите, что я старался держаться подальше от этого. ;-) Я просто описываю то, что я делаю, оставляя анализ и принятие как свободный выбор для читателей. Но я хочу попытаться развеять этот миф о том, что ваш компьютер взорвется вам в лицо, если вы отключите файл подкачки. 15 лет назад 1
Я использую свой ноутбук с 32-разрядной ОС Vista с 4 ГБ ОЗУ (Microsoft охотно решила сделать дополнительную физическую ОЗУ непригодной для использования, хотя со времен MS-DOS компания знала, как обращаться к большему количеству памяти, чем к количеству бит в система) БЕЗ файла подкачки. Нет проблем. Иногда два отдельных экземпляра Firefox, MSN Messager и несколько других приложений достигают потолка памяти, после которого приложения просто аварийно завершают работу и исчезают. Единственная причина, по которой я думаю снова включить файл подкачки, - это Grand Theft Auto (изобилие памяти и изобилие вредных программ). PP. 14 лет назад 0
4
harrymc

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

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

Насколько это правда ... какие-либо вспомогательные статьи? Pacerier 11 лет назад 0
4
EMP

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

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

3
Mas

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

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

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

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

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

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

Это лучший ответ для пользователей Visual Studio, намного лучше без файла подкачки. 79E09796 11 лет назад 0
Я делаю то же самое для себя. поместите 8 ГБ ОЗУ в ПК и отключите файл подкачки. Теперь моя Windows использует 3,5 ГБ или ОЗУ, когда я запускаю VS, но работает фантастически :) user713789 10 лет назад 0
2
user43161

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

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

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

Ваше первое предложение звучало многообещающе, но остальная часть ответа оказалась такой же старой: «вы думаете, у вас достаточно ОЗУ, но у вас нет». Я думаю, что вы в основном говорите, что при определении того, сколько ОЗУ мне нужно, я не учитывал код, а только данные. В общем, это верный момент, но он не отвечает на этот вопрос. Смотрите бит, начинающийся с *, если у меня есть x МБ физической памяти и y МБ файла подкачки ... * Кроме того, я не понимаю, как отсутствие файла подкачки может привести к тому, что Windows переместится на страницу. EMP 14 лет назад 1
Вы только что указали, что система используется с 1993 года. Понимаете ли вы, сколько памяти было доступно тогда по сравнению с сегодняшним днем? Мы говорим о 2-4 МБ против 2-4 ГБ, это увеличение в 1000 раз. В то же время жесткие диски не ускорились в 1000 раз. Поэтому подкачка 200 МБ из ОЗУ на диск, а затем обратно ДЕЙСТВИТЕЛЬНО ДОРОГА! Пейджинг 200 КБ намного дешевле в 1993 году, чем пейджинг 200 МБ сейчас. Mas 13 лет назад 1
@Mas: теперь есть твердотельные накопители и достаточно памяти для отключения подкачки (если вы уверены, что никогда не заполняете ее). Tom Wijsman 13 лет назад 0
1
RJFalconer

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

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

Тем не менее, если вы уверены, как ваш вопрос предполагает, не должно быть много проблем. Я также подозреваю, что отсутствие набора файлов подкачки не даст вам перейти в спящий режим. RJFalconer 15 лет назад 0
Это хорошо - это не будет максимально. Мы предполагаем, что у меня достаточно оперативной памяти. Между прочим, я не думаю, что Windows вылетит с синим экраном, если не будет так мало оперативной памяти, что сама ОС не сможет в нее поместиться. Я на самом деле никогда не видел, чтобы это произошло на практике, но да, я бы подумал, если бы вы попытались запустить XP на 16 МБ ОЗУ, это может произойти. EMP 15 лет назад 0
да, у вас не будет синего экрана, вы просто получите какую-то ошибку нехватки памяти. salmonmoose 15 лет назад 0
1
ptor

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

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

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

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

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

_ "(Я также очень не люблю superfetch, и скорее оставляю память свободной для кэширования эффектов)" _ Это бессмысленно. SuperFetch - это кеш. Jamie Hanrahan 9 лет назад 0