Влияет ли изменение реестра DisablePagingExecutive на какой-либо фактический эффект?

В прошлом на нескольких машинах в разных версиях Windows (2000, XP и без Vista) я включил DisablePagingExecutive, чтобы попытаться повысить производительность. В каждом случае и у меня было много памяти, а особенно в нынешнем случае. Однако после включения этой настройки реестра и перезагрузки через некоторое время я проверил диспетчер задач и все еще показываю огромный кусок ядра, выгружаемого на диск, хотя у меня есть 2 ГБ свободной физической памяти.

Кто-нибудь когда-нибудь использовал этот твик успешно? Когда-либо? Maybe I'm viewing the wrong indicator when I check the task manager (Performance tab -> "Kernel Memory" section), but I'd like to prevent Windows from paging everything it can to disk, especially considering the amount of memory provided in desktops these days. It seems like a "Don't page to disk unless there's extreme memory pressure" option ought to exist - is there one?

8 ответов

Решение

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

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

В контексте ядра "Nonpaged" означает код и данные, которые никогда не могут быть выгружены ни при каких обстоятельствах. "Paged" означает код и данные, которые МОГУТ быть выгружены при необходимости. Сколько на самом деле IS выгружено, невозможно сказать из диспетчера задач. Часть кода, которая выгружается, никогда не читалась с диска, потому что она еще не была нужна. Не все ядра часто доступны. Вы не должны ожидать, что номера с номерами и номерами будут затронуты данным параметром.

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

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

Просто добавьте еще одно использование этого параметра: он необходим xperf стог ходьба.

http://blogs.msdn.com/b/pigscanfly/archive/2009/08/06/stack-walking-in-xperf.aspx

Отключить Paging Executive

Чтобы трассировка работала в 64-битной Windows, необходимо установить раздел реестра Disable Paging Executive. Это заставляет операционную систему не пейджировать драйверы режима ядра и системный код на диск, что является необходимым условием для получения стеков 64-битных вызовов с использованием xperf, потому что обход 64-битного стека зависит от метаданных в исполняемых образах, а в некоторых ситуациях Коду обхода стека xperf не разрешается касаться страниц.

Еще одна информация о настройке. Эту цитату можно найти в Интернете, я не знаю ее первоисточник.

Disable Paging Executive применяется только к ntoskrnl.exe. Это не относится к win32k.sys (намного больше, чем ntoskrnl.exe!), Доступным для просмотра частям других драйверов, выгружаемому пулу и, конечно, кешу файловой системы. Все они находятся в адресном пространстве ядра и выгружаются на диск. В системах с малым объемом памяти это может привести к ненужной подкачке кода приложения и снижению производительности. Если у вас более чем достаточно ОЗУ для вашей рабочей нагрузки, да, это не повредит, но, опять же, если у вас более чем достаточно ОЗУ для вашей рабочей нагрузки, система все равно не выполняет большую часть этой работы. Этот параметр полезен при отладке драйверов и обычно рекомендуется для использования только на серверах, на которых работает ограниченный известный набор приложений

Таким образом, можно сделать вывод, что помимо xperf- его польза неясна: по сути, он ограничивает некоторые "почти случайные" вещи от подкачки и дальнейшего размышления - следовательно, вместо этого чаще выкладывается что-то еще.

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

Так что многое из того, что вы считаете "выгруженным на диск", может быть тем, что изначально было на диске.

Твик DisablePagingExecutive не останавливает пейджинг, его цель состояла в том, чтобы предотвратить подкачку "Executive" (то есть самого ядра) и, таким образом, вызвать замедление всей системы, а не только отдельных выгружаемых приложений.

Вы можете попробовать полностью отключить подкачку, удалив все файлы подкачки в Системных свойствах (или в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles). Это хорошо работает для меня, но все становится довольно неприятно, когда у вас заканчивается физическая память, и у вас должен быть файл подкачки для отладки ошибок STOP.

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

Что вы можете сделать, это открыть "Монитор ресурсов" в Windows. Перейдите к инструменту поиска и выполните поиск "Монитор ресурсов". Или откройте инструмент запуска команды (я предполагаю, что любой, кто читает это, знает, как это сделать) и введите "resmon".

Используйте этот инструмент для мониторинга всех видов системной активности, таких как загрузка ЦП, активность памяти и активность жесткого диска. Если вы еще не знакомы с информацией, содержащейся в "Мониторе ресурсов", изучите ее немного, потому что вам нужно будет ознакомиться с ней, чтобы запускать тесты, которые помогут вам измерить тип результатов, которые вносит изменение в системный параметр.

Основная идея заключается в том, что вы запускаете Resource Monitor, когда ваша компьютерная система запускает определенные задачи, чтобы измерить результаты, связанные с производительностью, которые вносит изменение в системные настройки. Запустите задачи, которые используют системные ресурсы, которые вы пытаетесь проверить на производительность. Например, есть задачи, которые могут тестировать процессор, оперативную память, жесткий диск (и), блок графического процессора или сетевое устройство. Используйте Google, чтобы узнать, как проверить производительность компьютерных ресурсов, которые вы хотите проверить.

Например, если вы вносите изменения в системный параметр "Отключить Paging Executive", вы можете запустить тест на ресурсах компьютера и использовать "Resource Monitor", чтобы измерить, какие результаты дает изменение (если оно вообще есть).

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

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

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

Измените одну настройку. Проверьте это на изменение производительности. Определите результаты теста. Основываясь на результатах, решите, вернете ли вы настройку обратно к тому, что было, или к чему-то другому, или оставьте ее там, где она есть. 1) Настройка 2) Тест 3) Результаты 4) Решение.

Вы можете использовать этот метод логического вывода для всех видов настроек системных настроек, включая "Отключение Paging Executive".

Счастливой настройки.

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

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

Есть много! Очень хорошая информация об этом посте, я был впечатлен. Я заметил, что DisablePagingExecutive со значением 1 лучше всего делать на первом сайте рабочего стола после чистой установки любой версии Windows от xp до windows 10, от 32 до 64 бит (если на материнской плате достаточно оперативной памяти), но после того, как значение 1 применено к DisablePagingExecutive, то же значение должно быть сделано и для LargeSystemCache.

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

Эти изменения используются на ваш страх и риск, поэтому примите во внимание то, что все упомянули выше, также не мешало бы Google каждый из упомянутых ключей, которые были DisablePagingExecutive и 1, я не помню, видел...LargeSystemCache.

Убедитесь, что у вас достаточно оперативной памяти. Недостаточно оперативной памяти вызывает проблемы в вашей системе, с которыми вы не хотите иметь дело, и, вероятно, вызовет синий экран (bsod) в вашей системе.

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

(XP: минимум 256 МБ оперативной памяти минимум)

Прежде чем что-либо делать в реестре, рекомендуется создать реестр на устройстве хранения, а не на жестком диске с операционными системами или на отдельном хранилище ЛЮБОГО типа, чтобы при необходимости можно было восстановить реестр.

Информация выше меня действительно пересекает Т и ставит точки я.

                    Make sure to backup your system.

Он делает то, что говорит, не выгружает код ядра или драйвера.

Это просто гарантирует, что ядро ​​и драйверы всегда присутствуют в оперативной памяти.

В те времена, когда у вас был Pentium 6xx и 256 МБ оперативной памяти, было бы здорово, если бы у вас было на МБ больше, если бы часть вашего кода драйвера или кода ядра была заменена, но в наши дни Windows все равно настолько раздуты 10 ГБ, привет.

Другие вопросы по тегам