Что меняет этот раздел
Общие процессы svchost для служб Windows: меньше памяти, но один сбой может уронить несколько служб, а диспетчер задач теряет цифры по каждой службе.
| Параметр | Что он делает | Путь в реестре |
|---|---|---|
| Объединить служебные процессы (svchost) | Поднимает SvcHostSplitThresholdInKB, и десятки svchost.exe сливаются: меньше накладных расходов, но упавшая служба может задеть свою группу | HKLM\SYSTEM\CurrentControlSet\Control\SvcHostSplitThresholdInKB |
Как это применить
- Открой w0a
- Перейди в левом меню на страницу Твики реестра
- Найди этот раздел и нажми Применить у нужных тебе пунктов
У каждого пункта своя кнопка, поэтому применять весь раздел целиком никто не требует — а если тебе нужны все, вверху страницы для этого есть Применить все.
Как это отменить
Два способа, и работают оба:
- Бэкапы и восстановление — возвращает контрольную точку, записанную перед применением изменения.
Отменяет всё, что было применено после этой точки, включая последующие контрольные точки, — окно подтверждения ровно это и говорит, прежде чем начать.
- Страница Fix — ищется по симптому и записывает стандартное значение Windows безусловно. Она не
читает резервную копию, поэтому работает даже тогда, когда собственного файла резервной копии w0a уже нет.
Журнал отката лежит в %ProgramData%\w0a\backup.json, вне твоего профиля пользователя.
Риск
Всё здесь — задокументированные значения, которые Windows поддерживает; ничего уровня ядра и ничего необратимого. Честная фраза при этом остаётся такой: параметр может не дать тебе измеримой пользы. Если ты применил изменение и не чувствуешь разницы, скорее всего, ты прав — эти страницы не продают тебе ощущение, они говорят, что именно было изменено.
Если хочешь измерить, действует правило из статьи как читать бенчмарк: меняй по одной вещи за раз и смотри на низкие значения, а не на среднее.
Сначала — честное предложение
В этом разделе одна настройка, и меняет она то, во скольких процессах svchost.exe работают службы Windows. Она не добавляет памяти, не делает память быстрее и не трогает файл подкачки. Сколько памяти она экономит на твоём ПК и заметно ли это в игре, не измерено. Причина, по которой она есть, взята у самой Microsoft: на её странице о группировке служб в хост-процессах сказано, что отдельный процесс для каждой службы увеличивает расход памяти. Важнее всего это там, где памяти мало, поэтому страница показывает примечание об этом только на машинах, где меньше 8 ГБ ОЗУ.
Пункт за пунктом
Объединить служебные процессы (svchost) — записывает SvcHostSplitThresholdInKB = 0xFFFFFFFF (4294967295) как DWORD в HKLM\SYSTEM\CurrentControlSet\Control. Начиная с Windows 10 версии 1703 Windows выделяет почти каждой службе собственный svchost.exe, как только объём установленной ОЗУ превышает примерно 3,5 ГБ; диспетчер служб группирует службы в общие процессы, только пока установленная ОЗУ, посчитанная в КБ, меньше этого значения. 0xFFFFFFFF КБ — это 4 ТиБ, больше, чем у любой реальной машины, поэтому группировка применяется всегда. Собственное значение Windows — то, которое записывает обратно страница «Fix», — 3670016: 3,5 ГБ в КБ. Вступает в силу после перезагрузки. На сборках до 15063 (Windows 10 1703) ничего не записывается: службы там и так сгруппированы, и карточка говорит об этом, а не сообщает об изменении. Размен, о котором говорит и страница: службы, делящие процесс, делят и его судьбу, так что падение одной службы может утянуть за собой остальные в её процессе, а Диспетчер задач больше не может показывать цифры по каждой службе.
Как проверить самому
reg query "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB
После того как пункт отработал, значение равно 0xFFFFFFFF; после карточки Fix — 3670016 (0x380000). Чтобы увидеть саму группировку, выведи каждый svchost.exe со службами, которые в нём работают, и сравни список до перезагрузки со списком после неё:
tasklist /svc /fi "imagename eq svchost.exe"
Чего этот раздел не делает
Он не подгоняет порог под объём твоей ОЗУ. Одна из ранних сборок записывала фиксированное 0x4000000 — 64 ГиБ, — и на машинах с 64 ГБ и больше это было не выше установленной ОЗУ, так что службы продолжали разделяться, пока карточка сообщала об успехе. Поэтому значение теперь самое большое, какое вмещает DWORD.
Он никогда не записывает DisablePagingExecutive, LargeSystemCache, DisablePageCombining или NtfsMemoryUsage. Первые три относятся к диспетчеру памяти ядра, а четвёртое задаёт размер выгружаемого пула драйвера NTFS; w0a вообще не записывает значений уровня ядра. Если старая сборка или другая программа оставила после себя DisablePagingExecutive, DisablePageCombining или NtfsMemoryUsage, карточка Память и системные значения по умолчанию на странице «Fix» их удаляет.
За пределами этой страницы
Карточка Память и системные значения по умолчанию на странице «Fix» записывает 3670016 обратно (Память и системные значения по умолчанию). Тем же нажатием она возвращает к значениям Windows по умолчанию и другие параметры памяти, файловой системы и планировщика и просит перезагрузку. Руководство по диску объясняет, что показывает в Диспетчере задач отдельный процесс на каждую службу, а значит, чего лишает эта настройка (Диск загружен на 100% в диспетчере задач).
Какие настройки Windows что-то меняют в игре, кому каждая помогает и кому не даёт ничего: Оптимизация Windows 11 для игр: какие настройки действительно влияют
Эта страница помогла?
Чего не хватило или что не сработало? Мы читаем каждый такой ответ.
Если эта страница не решила проблему, напиши нам — скажи, какую статью ты читал, и мы её исправим.