О том, как работает кэширование диспетчера памяти Windows, читают технические документы Microsoft и т. Д. Однако существует относительно немного документов, в которых описываются реальные проблемы с производительностью (медлительность), связанные с очень большими / растущими сопоставленными файлами и резервными списками.
У меня есть Win7 64bit (8Gb RAM) ПК, который выступает в качестве сервера. Я не могу добавить больше памяти к нему. Он имеет несколько ТВ-тюнеров, которые записывают / записывают несколько гигантских файлов формата mpeg2 (не менее 3–8 ГБ каждый) на жесткий диск 24/7. В зависимости от того, насколько мой компьютер записывает телепередачи, через 1-3 дня мой компьютер становится вялым.
Глядя на диспетчер задач Windows, кажется, что у меня не так много открытых приложений; и много «доступной памяти». Даже если я закрою все активные процессы, компьютер останется вялым. Однако при использовании RamMap я вижу, что эти большие файлы mpeg2 становятся сопоставленными файлами в активном резервном списке; что со временем делает мой компьютер очень вялым. Если я выберу «Пустой список ожидания» в RamMap, мой компьютер сразу станет очень отзывчивым; как будто я просто перезагрузил его. Я ничего не могу поделать с медлительностью. На самом деле, ПК никогда не оправится от этой медлительности, если я не опустошу список ожидания или не перезагрузлюсь.
У меня есть утилита командной строки, EmptyStandbyList.exe, которая, как я обнаружил, тихо очищает резервный список вместо того, чтобы делать это в графическом интерфейсе RamMap. Однако, к сожалению, он также удаляет мелкие элементы в резервном списке, которые очень полезны для повышения производительности, чтобы оставаться в резервном списке.
При поиске в Google я нашел других людей, у которых точно такая же проблема, как и у меня. Однако большинство их вопросов остаются без ответа; без реального объяснения, почему это происходит; и нет определенного способа решения проблемы, кроме метода «Пустой резервный список».
Я видел упоминания об утилите / сервисе MS под названием «Dynamic Cache»; но не уверен, что это лечит именно то, что я хочу. Кроме того, версия Win7 / Win2008 R2, кажется, доступна только через поддержку MS. Я также видел несколько утилит, которые устанавливают «минимальный / максимальный пределы NT-кэша»; но они выглядят так, как будто они специфичны для рабочих наборов для процессов, а не для резервных списков.
Я надеюсь, что кто-то, кто может мыслить нестандартно, может подумать о более изящном лекарстве для меня, вместо того, чтобы я регулярно использовал зверски пустой весь резервный список; и, надеюсь, у меня есть четкое объяснение симптома, который я (и другие люди) наблюдаем. Причина, по которой я упомянул «нестандартно», заключается в том, что уже есть много людей, которые хотели бы просто рассказать, как сопоставленные файлы и приоритеты резервного списка «должны» работать на бумаге; что не очень полезно для меня.
источник
Ответы:
Список Standby - это кэш Superfetch, а «Dynamic Cache» устраняет другую проблему. Служба устраняет проблему, когда кэш метаданных NTFS слишком высок. Но Stadnbylist и этот Cache - это две разные вещи. Кэш-память NTFS отображается как используемая память, в то время как резервный кэш содержит данные, но может быть очищен очень быстро, если вы действительно добавите эту память для хранения данных в ней.
На форуме sysinternals пользователь wj32, автор Process Hacker, создал инструмент командной строки, который делает то, что вы хотите:
http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769
Попробуйте, если это "исправит" вашу проблему.
источник
Может ли быть так, что медлительность происходит из-за того, что Windows заставляет загружать / сохранять данные с диска подкачки, что с каждым записанным на пленку видео список ожидания увеличивается, а с большим диском подкачки другие (фоновые) программы теперь выталкиваются на диск подкачки, тормозит машину.
Если этот ПК используется только для записи телепередач, возможно, может быть решение сделать диск подкачки настолько маленьким, насколько позволяет его установка в Windows, что, я считаю, составляет 16 МБ. Не выключайте диск подкачки полностью, потому что тогда Windows сделает диск подкачки в тайне.
Некоторые, как я не могу себе представить, что Windows стала бы вялой, если бы она просто читала данные из ОЗУ, в то время как новые программы не загружались с диска.
Цитата из документа MS http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :
«Windows 7 SuperFetch ™ работает с диспетчером памяти для установки приоритетов для страниц в списке ожидания. Страницы, которые недавно были помещены в список ожидания, начинаются с высокого приоритета, который постепенно уменьшается со временем.
Если в системе слишком мало памяти для обработки рабочей нагрузки, только небольшой процент страниц в списке ожидания имеет низкий приоритет. Отслеживая количество страниц с разными приоритетами, вы можете определить, выиграет ли система от увеличения объема установленной оперативной памяти ».
В целом, цель состоит в том, чтобы система могла поддерживать страницы, на которые недавно ссылались, в памяти и при этом иметь достаточно доступной памяти для удовлетворения любых непосредственных потребностей в памяти ".
Возможно, также программа записи ТВ, поскольку она продолжает работать и не останавливается, каждая страница, которая попадает в список ожидания, помечается как высший приоритет, выталкивая другие вещи, что обычно ускоряет работу Windows. Однако вы можете подумать, что эти вещи освобождаются, когда памяти становится мало, и / или когда нет файла подкачки, который Windows не может тайно начать интенсивно использовать подкачку, что замедляет процесс. Это при условии, что данные в списке ожидания не будут загружены на диск подкачки.
источник