Какое-либо преимущество или вред от удаления файла подкачки на машине RAM на 8 ГБ?

Мы используем сценарий (JScript, Windows Script Host), который управляет превосходной библиотекой Redemption Data Objects MAPI Dmitry Streblechenko. Вот кишки его:

...
var session = new ActiveXObject("Redemption.RDOSession");
session.LogonExchangeMailbox("FredB", "EXCH01");

var mailbox  = session.Stores.DefaultStore;
var pstStore = session.Stores.AddPSTStore("c:\\backups\\fredb.pst", 1, "FredB backup");

foreach(mailbox.IPMRootFolder.Folders, function(folder)
{
   folder.CopyTo(pstStore.IPMRootFolder);
});

pstStore.Remove();

...

// Utility to allow enumeration of COM collections
function foreach(collection, fn)
{
  for(var e = new Enumerator(collection); !e.atEnd(); e.moveNext())
  {
    if(fn(e.item()) === false)
      break;
  }
}

Не взял бы много для добавления логики для итерации в объекты в папках и сообщениях захвата с вложениями, более старыми, чем определенная дата, и т.д.

Больше информации о моем блоге: http://blog.dotsmart.net/2008/02/20/backing-up-an-exchange-mailbox-to-a-pst-file/

213
задан 4 April 2018 в 22:14
13 ответов

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

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

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

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

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

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

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

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

299
ответ дан 16 December 2019 в 22:45
  • 1
    Для Jeff и Joel: это рифмует с " ducks" –  quux 25 June 2009 в 02:48
  • 2
    На Солярисе это было еще более включено. Файл подкачки является mirroed в диске поршня как tmpfs, таким образом, память всегда почти полна - но это по-видимому доказуемо, что это - оптимальная стратегия. –  Martin Beckett 25 June 2009 в 22:40
  • 3
    Я долго полагал, что, вместо того, чтобы позволить Windows управлять моим размером файла подкачки, я должен установить его на установленную сумму (например, минута 2 ГБ, макс. 2 ГБ), потому что разрешение ему вырасти и уменьшение может вызвать проблемы фрагментации. Та польза думает, или я должен следовать за Вашей первой строкой и позволить Windows обработать все? –  John Fouhy 29 July 2009 в 06:26

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

-3
ответ дан 16 December 2019 в 22:45

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

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

PS: не забывайте допускать рост в будущем!

2
ответ дан 16 December 2019 в 22:45
  • 1
    Don' t Вы означают потенциально доступную общую память? Большинство пейджинговых систем сохраняет копии страницы снимка. –  Jé Queue 30 November 2009 в 07:20

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

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

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

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

5
ответ дан 16 December 2019 в 22:45

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

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

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

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

Мне действительно нравятся статьи Mark's.

19
ответ дан 16 December 2019 в 22:45

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

Файл подкачки служит многим вещам, включая генерацию дампа памяти в случае BSoD ("Синий" экран Смерти).

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

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

Windows 7 / 2008 / Vista не изменяет использование файла подкачки.

Я видел одно объяснение от Mark Russinovich (Microsoft Fellow), объясняя, что Windows может быть медленнее без файла подкачки, чем wih файл подкачки (даже с большим количеством RAM). Но я не могу найти назад первопричину.

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

6
ответ дан 16 December 2019 в 22:45
  • 1
    Вы имеете в виду это? blogs.technet.com/markrussinovich/archive/2008/11/17/… Если так, его советом является Ламе. Он говорит, что файл подкачки увеличит производительность потому что, если дал бы больше поршня другим приложениям. Правда, если Вы don' t имеют много поршня. Но если у Вас есть более чем достаточно, файл подкачки никогда не быстрее. –  Pyrolistical 10 June 2009 в 23:18
  • 2
    это было в sysinternal видео с Salomon. Это имело некоторое отношение ко множеству свободных страниц ядра –  Mathieu Chateau 11 June 2009 в 00:19
  • 3
    Вы can' t отправляют " answer" когда Вы понятия не имеете: у Меня есть Windows Vista 32-разрядный ноутбук с 4 ГБ RAM, и я поместил его в резервное устройство все время. Можно ли, по крайней мере, ограничить себя предоставлением ответов на вопросы, на которые Вы на самом деле знаете ответы? –  PP. 15 January 2010 в 19:50

Я выполнял свое поле Vista x64 на 8 ГБ без файла подкачки в течение многих лет без любых проблем.

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

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

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

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

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

34
ответ дан 16 December 2019 в 22:45
  • 1
    необходимо сохранять чаще :D для уменьшения убытков –  alexandrul 10 December 2009 в 07:19
  • 2
    легкий сказать, когда сохранение действительно занимает несколько минут, это - лаваш. –  Sam 21 December 2009 в 11:46

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

Perfmon является инструментом для этого; не Диспетчер задач. Ключевым счетчиком является Память - Страницы, Input/sec. Это конкретно изобразит трудные отсутствия страницы в виде графика, те, где чтение от диска необходимо, прежде чем процесс может продолжиться. Мягкие отсутствия страницы (которые являются большинством объектов, изображенных в виде графика на Странице по умолчанию счетчик Faults/sec; я рекомендую игнорировать тот счетчик!) не действительно проблема; они просто показывают объекты, считанные из RAM обычно.

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

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

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

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

34
ответ дан 16 December 2019 в 22:45

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

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

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

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

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

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

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

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

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

47
ответ дан 16 December 2019 в 22:45
  • 1
    I' ve отключили мой файл подкачки и сожалел о нем момент, я действительно использовал свою память. Так будьте рады, что у Вас есть больше памяти, чем Вам нужно. –  Sam 22 July 2009 в 12:45
  • 2
    +1, " я too" :-). Та же история - 8 ГБ памяти, Vista x64, запуская Visual Studio с ReSharper + SQL Server Express + IIS + 1-2 виртуальных машины (каждый с 1500 МБ памяти) + набор утилит - никогда не имели проблему. –  Milan Gardian 29 September 2009 в 23:17
  • 3
    Я люблю его, как все говорят " Microsoft провела много часов, думая об этой проблеме, таким образом, don' t смешивают с it" все же полностью проигнорируйте события реального мира. I' ve отключили страничный файл начиная с XP и никогда не сожалел о нем. It' s как компьютер получил инжекцию потрясающих. –  AngryHacker 20 October 2009 в 09:36
  • 4
    It' s довольно общепринятая практика для отключения подкачки страниц на серверах, что начальная загрузка iSCSI, подкачка страниц по SAN была бы noticable медленный. Просто действительно необходимо следить за использованием памяти и избегать максимум. –  Chris S 19 May 2010 в 00:43

Eric Lippert недавно записал запись в блоге, описывающую, как Windows управляет памятью. Короче говоря, модель памяти Windows может считаться дисковым хранилищем, где RAM действует как улучшающий производительность кэш.

80
ответ дан 16 December 2019 в 22:45

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

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

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

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

13
ответ дан 16 December 2019 в 22:45
  • 1
    I' d идут немного далее, и не ограничивают файл подкачки. That' s не действительно улучшающиеся вещи. Позвольте окнам сделать это... они знают лучше. –  Michael Haren 24 June 2009 в 22:37
  • 2
    Просто попробованный для использования Классика Media Player для загрузки 6 ГБ mkv файл. Это выполнило меня из моей RAM и памяти файла подкачки. Вернулся к довольно быстрому VLC. +1 для " Вы никогда не знаете что you' ll выполненный into". в конечном счете разрушенный MPC и моя RAM был восстановлен, но что, если Вы получаете DLL во внешнем программном обеспечении с утечкой памяти? У Вас будет намного больше пробега, если у Вас будет некоторая поддержанная диском память для выручения Вас. –  mpbloch 14 April 2010 в 02:00

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

Немногие, если почти ни один, попробовали. Еще меньше, кажется, знает, как Windows рассматривает файл подкачки. Это приводит в порядок не, "только" заполняются, когда у Вас заканчивается физическая RAM. Я держал пари, что большинство из Вас даже не знало, что Ваша "свободная" RAM используется в качестве кэша файла!

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

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

2
ответ дан 16 December 2019 в 22:45

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

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

    Вполне, как 3,7 ГБ составляют меньше чем 5% 8 ГБ, я никогда не буду знать!!

  2. Бывшие рядом программы для предотвращения информационного диалогового окна потерь: Когда 75% моей RAM используются, я получаю диалоговое окно, говоря мне закрыть программы. Можно отключить это с модификацией реестра (или возможно путем отключения 'Сервиса политики Диагностики').

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

5
ответ дан 16 December 2019 в 22:45

Теги

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