Любая польза или ущерб от удаления файла подкачки на 8 ГБ оперативной памяти?

Я запускаю Windows 7 на двухъядерном процессоре x64 AMD с 8 ГБ оперативной памяти.

Мне даже нужен файл страницы?

Удалит ли это помощь или повредит производительность?

Будет ли это иметь значение, если это сервер или рабочий стол?

Отличается ли Windows 7 и Windows 2008 с файлом страницы?

212 голосов | спросил Jason 10 J0000006Europe/Moscow 2009, 23:50:46

13 ответов


301

TL; версия DR: пусть Windows обрабатывает ваши настройки памяти /файла подкачки. Люди в MS потратили много больше часов, думая об этих проблемах, чем большинство из нас, системных администраторов.

Многие люди, похоже, полагают, что Windows подталкивает данные в файл подкачки по требованию. EG: что-то хочет много памяти, и для того, чтобы удовлетворить эту потребность, недостаточно памяти, поэтому Windows начинает безумно записывать данные с RAM на диск в эту последнюю минуту, чтобы она могла освободить RAM для новых требований.

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

В описании конкретных задействованных механизмов потребуется много страниц (см. главу 7 Внутренние ресурсы Windows , и обратите внимание, что скоро появится новая версия ), но есть несколько замечательных вещей, чтобы отметить. Во-первых, большая часть того, что находится в ОЗУ, по существу уже находится на диске - программный код, извлеченный из исполняемого файла или библиотеки DLL, например. Поэтому это не нужно записывать в файл подкачки; Windows может просто отслеживать, откуда изначально извлекались биты. Во-вторых, Windows отслеживает, какие данные в ОЗУ наиболее часто используются, и поэтому удаляет из ОЗУ те данные, которые прошли самый длинный, без доступа.

Удаление файла подкачки полностью может вызвать больший излом диска. Представьте простой сценарий, когда какое-то приложение запускает и требует 80% существующей ОЗУ. Это вынудит текущий исполняемый код из ОЗУ - возможно, даже код ОС. Теперь каждый раз, когда эти другие приложения (или сама ОС) (!!) нуждаются в доступе к этим данным, ОС должна выставлять их из хранилища резервных копий на диске, что приводит к большому перерыву. Поскольку без файла подкачки в качестве хранилища резервных копий для временных данных единственными вещами, которые могут быть выгружены, являются исполняемые файлы и библиотеки DLL, для которых для начала были созданы резервные хранилища.

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

Некоторые ссылки:

dmo отметил недавний Eric Lippert post , который помогает в понимании виртуальной памяти (хотя менее связан с вопросом). Я помещаю его здесь, потому что я подозреваю, что некоторые люди не будут прокручивать другие ответы, но если вы считаете это ценным, вы должны dmo проголосовать, поэтому используйте ссылку , чтобы попасть туда!

ответил quux 11 J0000006Europe/Moscow 2009, 01:15:56
80

Эрик Липперт недавно написал запись в блоге , описывающая, как Windows управляет памятью. Короче говоря, модель памяти Windows можно рассматривать как хранилище дисков, где ОЗУ работает как кэш повышения производительности.

ответил dmo 24 J0000006Europe/Moscow 2009, 23:47:45
46

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

Как дома, так и на работе у меня 64-разрядная Vista с 8 ГБ ОЗУ. Оба файла страницы отключены. На работе мне ничего не остается, чтобы иметь несколько экземпляров Visual Studio 2008, Virtual PC с Windows XP, 2 экземпляра SQL Server и Internet Explorer 8 с большим количеством вкладок, работающих вместе. Я редко достигаю 80% памяти.

Я также использую гибридный сон каждый день (спящий режим сна) без проблем.

Я начал экспериментировать с ним, когда у меня была Windows XP с 2 ГБ ОЗУ, и я действительно видел разницу. Классическим примером было то, что значки на панели управления перестали показывать себя один за другим, но все сразу. Также время запуска Firefox /Thunderbird резко возросло. Все сразу начало работать сразу после того, как я нажал на что-то. К сожалению, 2 Гбайт был слишком мал для моего использования приложений (Visual Studio 2008, Virtual PC и SQL Server), поэтому я включил его.

Но прямо сейчас с 8 ГБ я никогда не хочу возвращаться и активировать файл страницы.

Для тех, кто говорит об экстремальных случаях, это нужно сделать из моего Windows XP раз. Когда вы пытаетесь загрузить большую сводную таблицу в Excel из SQL-запроса, Excel 2000 значительно увеличивает использование памяти.
Когда у вас отключен файл страницы, вы немного подождёте, а затем Excel взорвется, и после этого система очистит всю память.
Когда у вас включен файл страницы - вы подождете некоторое время, и когда вы заметите, что что-то не так, вы почти ничего не можете сделать с вашей системой. Ваш жесткий диск работает как ад, и даже если вам удастся запустить Task Manager (после нескольких минут ожидания) и убить excel.exe, вы должны подождать минуту или около того, пока система не загрузит все из файла страницы .
Как я увидел позже, Excel 2003 обрабатывает одну и ту же сводную таблицу без каких-либо проблем с отключенным файлом страницы, поэтому она не была «слишком большой проблемой набора данных».

Так что, по-моему, файл с отключенной страницей даже иногда защищает вас от плохо написанных приложений.

Вкратце: если вы знаете о своем использовании памяти, вы можете безопасно отключить его.

Изменить: Я просто хочу добавить, что я установил Windows Vista SP2 без проблем.

ответил SeeR 29 J0000006Europe/Moscow 2009, 01:10:36
34

Возможно, вы захотите сделать некоторые измерения, чтобы понять, как ваша собственная система использует память, прежде чем делать корректировки параметров подкачки. Или (если вы все еще хотите внести коррективы), до и после указанных настроек.

Perfmon - это инструмент для этого; not Диспетчер задач. Счетчик клавиш Память - Ввод страниц /сек . Это будет специально отображать ошибки жесткие страницы, те, где требуется чтение с диска, прежде чем процесс может продолжаться. Смягчение ошибок страницы (которые составляют большинство элементов, отмеченных по умолчанию Page Faults /sec , я рекомендую игнорировать этот счетчик!) на самом деле не проблема; они просто показывают элементы, которые обычно считываются из ОЗУ.

График Perfmon http://g.imagehost.org/0383/perfmon-paging. PNG

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

Если вы видите график Память - Страницы ввода /сек , который намного широк, чем этот, правильный ответ - либо уменьшить использование памяти (запустить меньше программ), либо добавить ОЗУ. Изменение параметров файла подкачки не изменило бы тот факт, что из системы требуется больше памяти, чем на самом деле.

Удобный дополнительный счетчик для монитора - PhysicalDisk - Avg. Длина очереди (все экземпляры). Это покажет, насколько ваши изменения влияют на само использование диска. Хорошо управляемая система покажет это среднее значение счетчика на 4 или менее на шпиндель .

ответил quux 11 J0000006Europe/Moscow 2009, 01:52:08
34

Я запускал свой 8-гигабайтный Vista x64 без файла страницы в течение многих лет без каких-либо проблем.

Проблемы возникли, когда я действительно использовал свою память!

Три недели назад я начал редактировать действительно большие файлы изображений (~ 2 ГБ) в Photoshop. Один сеанс редактирования поглотил всю мою память. Проблема: Мне не удалось сохранить мою работу, так как Photoshop требует больше памяти для сохранения файла!

И так как сам Photoshop, который ел всю память, я даже не мог освободить память, закрыв программы (ну, я сделал, но было слишком мало, чтобы помочь).

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

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

ответил Sam 22 J000000Wednesday09 2009, 13:43:39
19

В то время как ответы здесь хорошо освещены в этой теме, я по-прежнему рекомендую это прочитать:

http://blogs.technet.com/markrussinovich /archive/2008/11/17/3155406.aspx

Он говорит о размере PF почти в конце:

  

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

Мне нравятся статьи Марка.

ответил Radim Cernej 29 J0000006Europe/Moscow 2009, 04:42:57
13

Лучший ответ, который я могу придумать, - это то, что при нормальной нагрузке вы не можете использовать 8 ГБ, но это неожиданные нагрузки, где вы столкнетесь с проблемами.

С файлом страницы система будет, по крайней мере, работать медленно, как только она начнет удалять страницу. Но если вы удалите файл страницы, он просто умрет (из того, что я знаю).

Кроме того, сейчас 8 Гбайт кажется много, но через несколько лет после этого он может считаться минимальным объемом памяти для большого количества программного обеспечения.

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

ответил Dave Drager 10 J0000006Europe/Moscow 2009, 23:56:23
6

Вы не упомянули, является ли это 64-разрядной версией Windows, но я думаю, да.

Файл подкачки выполняет многие функции, включая создание дампа памяти в случае BSoD (синий Экран смерти).

Если у вас нет файла подкачки, Windows не сможет выйти на диск, если памяти недостаточно. Вы можете подумать, что с 8 ГБ вы не достигнете этого предела. Но с течением времени у вас могут быть плохие программы, которые теряют память.

Я думаю, что он не позволит вам перейти в спящий режим /режим ожидания без файла подкачки (но я еще не пытался).

Windows 7/2008 /Vista не изменяет использование файла страницы.

Я увидел одно объяснение от Марка Руссиновича (Microsoft Fellow), объяснив, что Windows может быть медленнее без файла страницы, чем с файлом страницы (даже с большим количеством ОЗУ). Но я не могу найти основную причину.

Вы не используете дисковое пространство? Я бы сохранил как минимум 1 ГБ, чтобы иметь дамп ядра в случае BSoD.

ответил Mathieu Chateau 10 J0000006Europe/Moscow 2009, 23:59:49
5

Я отключил свой файл с файлами (8 ГБ на ноутбуке x86) и имел две проблемы даже при 2500 МБ бесплатно:

  1. Ошибка ASP.NET, пытающаяся активировать службу WCF . Ошибка проверки ворот памяти, поскольку свободная память (399 556 608 байт) составляет менее 5% от общей памяти. В результате служба не будет доступна для входящих запросов. Чтобы решить эту проблему, уменьшите нагрузку на машину или настройте значение minFreeMemoryPercentageToActivateService в элементе конфигурации serviceHostingEnvironment.

    Довольно, как 3.7 Гб меньше, чем 5% от 8 Гб, я никогда не узнаю !!

  2. Получение закрытия программ для предотвращения потери информации : когда используется 75% моей ОЗУ, я получаю диалоговое окно с сообщением закрыть программы. Вы можете отключить это с помощью изменения реестра (или возможно , отключив «службу политики диагностики»).

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

ответил Simon 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 18 Sep 2010 13:21:10 +0400 2010, 13:21:10
5

Единственный человек, который может сказать вам, что ваши серверы или рабочие станции «нуждаются» в файле страницы, вы , осторожно используете монитор производительности или что бы он ни называл в эти дни. Какие приложения вы используете, какую пользу они видят, и каков максимальный возможный объем памяти, который вы могли бы увидеть?

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

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

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

ответил Rob Moir 11 J0000006Europe/Moscow 2009, 00:16:26
2

Ваша общая доступная память - это ваш файл подкачки + фактическая память.

Ключевой вопрос: подходит ли ваш ожидаемый общий объем использования памяти для всех приложений и использования операционной системы 8 ГБ. Если ваше среднее использование памяти составляет 2 ГБ, а максимальное использование памяти составляет всего 4 ГБ, то наличие файла страницы бессмысленно. Если максимальное использование памяти ближе к 6-7 ГБ или выше, это хорошая идея иметь файл с файлами.

PS: Не забудьте дать возможность роста в будущем!

ответил 26 J0000006Europe/Moscow 2009, 05:59:15
2

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

Немногие, если почти никто, не попробовали. Еще меньше похоже, что Windows обрабатывает файл подкачки. Он не «просто» заполняется, когда у вас заканчивается физическая оперативная память. Бьюсь об заклад, большинство из вас даже не знали, что ваша «свободная» ОЗУ используется в качестве кеша файлов!

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

Если Microsoft фактически разрешила вам установить параметр, при котором файл подкачки ТОЛЬКО будет использоваться, когда из физической памяти (и все буферы файлов были отброшены), я бы подумал, что от отказа от файла подкачки было мало.

ответил PP. 15 Jpm1000000pmFri, 15 Jan 2010 20:55:53 +030010 2010, 20:55:53
-3

Это антидот, но мы запускаем сервер терминалов Windows Server 2003 для примерно 20 пользователей, при этом 10-15 вовремя вошли в систему и имеют 8 ГБ ОЗУ. Мы не запускаемся с файлом страницы, и наш сервер работает быстрее, чем раньше. Это, очевидно, не решение для всего, но мы работали вот так уже два года, и у меня не было проблем, о которых я знаю.

ответил Matt 11 J0000006Europe/Moscow 2009, 00:24:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132