RamMap «Пустой список ожидания» резко ускоряет работу ПК. Есть лучший способ сделать это?

24

О том, как работает кэширование диспетчера памяти 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-кэша»; но они выглядят так, как будто они специфичны для рабочих наборов для процессов, а не для резервных списков.

Я надеюсь, что кто-то, кто может мыслить нестандартно, может подумать о более изящном лекарстве для меня, вместо того, чтобы я регулярно использовал зверски пустой весь резервный список; и, надеюсь, у меня есть четкое объяснение симптома, который я (и другие люди) наблюдаем. Причина, по которой я упомянул «нестандартно», заключается в том, что уже есть много людей, которые хотели бы просто рассказать, как сопоставленные файлы и приоритеты резервного списка «должны» работать на бумаге; что не очень полезно для меня.

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

Ответы:

2

Список Standby - это кэш Superfetch, а «Dynamic Cache» устраняет другую проблему. Служба устраняет проблему, когда кэш метаданных NTFS слишком высок. Но Stadnbylist и этот Cache - это две разные вещи. Кэш-память NTFS отображается как используемая память, в то время как резервный кэш содержит данные, но может быть очищен очень быстро, если вы действительно добавите эту память для хранения данных в ней.

На форуме sysinternals пользователь wj32, автор Process Hacker, создал инструмент командной строки, который делает то, что вы хотите:

http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769

Попробуйте, если это "исправит" вашу проблему.

magicandre1981
источник
5
Разве этот инструмент командной строки не является тем же EmptyStandbyList.exe, который OP упоминал в своем посте, и для которого он хочет лучшую, возможно, более целенаправленную альтернативу?
Каран
2
Э-э-э ... Вы читали строку, которая начинается "Однако, к сожалению ...", и тот факт, что он хочет "более изящного лекарства"?
Каран
4
Приятно знать, что есть люди, которые тратят время, чтобы прочитать ОП более внимательно перед публикацией. Тем не менее, я выучил пару вещей, которых раньше не знал. Похоже, что на самом деле причина проблемы с производительностью связана с кэшем Superfetch; не кэш метаданных NTFS. RamMap показывает оба. Я знаю, что под Windows Vista мне пришлось полностью отключить службу Superfetch, потому что она не знала, как обрабатывать телевизионные записи (из моего приложения DVR); и был причиной чрезмерного использования моего жесткого диска. В настоящее время у меня есть служба Superfetch Win7 для улучшения загрузки и приложений, которые я использую в памяти.
user22667
2
Я использую SSD для моего загрузочного раздела; который размером всего 256 ГБ. Мне любопытно, если бы в Superfetch были какие-либо настройки, излечил бы эту проблему; например, подавление определенных типов файлов из superfetch? Надеюсь, кто-то, кто знает, как все это работает, объяснит, почему это происходит, и предложит исправление, которое лучше, чем у меня.
user22667
3
очистка списка ожидания без изменения настроек отношения / предела диспетчера памяти, просто предлагает окнам начать заполнять свободную память. Это также избавляет от фактических полезных вещей, находящихся в резервном списке, и обе эти вещи снижают скорость вашей машины по сравнению с тем, что она способна делать.
BeowulfNode42
1

Может ли быть так, что медлительность происходит из-за того, что 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 не может тайно начать интенсивно использовать подкачку, что замедляет процесс. Это при условии, что данные в списке ожидания не будут загружены на диск подкачки.

Vuurdraak
источник