Оптимизация Windows: как объединить процессы svchost в кластер, чтобы освободить процессор и оперативную память

Без комментариев

18.05.2026|

Без комментариев

Tiempo de lectura Lectura: 31 s
Número de palabras Palabras: 97
Número de visitas Visitas: 14
Icono de traducción

Вот пример до и после кластеризации процессов на установке Windows 11 с 64 ГБ оперативной памяти. Мы снизили количество процессов в режиме ожидания с 224 до 126 одновременно. Сокращение почти на 100 процессов.

Раньше Windows объединяла множество системных служб в один процесс svchost.exe. Однако начиная с Windows 10 (версия 1703) Microsoft изменила эту схему: если на вашем компьютере более 3,5 ГБ оперативной памяти, Windows разделяет каждую службу на отдельный независимый процесс. Это решение основано исключительно на объеме памяти, обнаруженном при запуске.

А зачем разделять процессы? Ну, в основном потому, что, изолируя их, при отказе одной службы вся группа не выйдет из строя. Это также вопрос наглядности. В диспетчере задач легче определить, какая именно служба потребляет процессор (без необходимости проводить расследование внутри группы). Это вопрос безопасности, поскольку изоляция между процессами позволяет избежать ошибок в цепочке.

Но мы можем обмануть Windows, установив искусственно высокий порог. Полагая, что у нее недостаточно оперативной памяти для "растраты", Windows вынуждена упаковывать службы в меньшее количество контейнеров, резко сокращая общее число процессов.

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

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

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

Это не хак или новый чудодейственный трюк. Это то, что можно найти в официальной документации Microsoft по данному поведению на техническом портале Microsoft Learn, предназначенном для разработчиков и системных администраторов.

Если вы хотите попробовать, вот таблица с некоторыми эквивалентами в соответствии с вашей оперативной памятью. Она работает как для Windows 10, так и для Windows 11. Чтобы применить ее, просто откройте CMD или PowerShell от имени администратора, запустите команду и перезагрузитесь.

Регистр SvcHostSplitThresholdInKB устанавливает "порог" оперативной памяти. Если на вашем компьютере больше оперативной памяти, чем задано в команде, Windows разделит процессы. Если меньше - сгруппирует их вместе. Поэтому в следующей таблице мы приводим команды со значением, всегда превышающим текущий объем оперативной памяти; таким образом мы обманываем Windows, заставляя ее группировать службы вместе.

(Если вашего объема оперативной памяти нет в таблице, просто посчитайте удвоенное количество текущей памяти в ГБ и примените формулу: объем ГБ x 1024 x 1024).

Ваша текущая оперативная памятьКоманда для применения (группировка процессов)
64 ГБreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 134217728 /f

(применяется порог 128 ГБ)
32 ГБreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 67108864 /f

(применяется порог 64 ГБ)
16 ГБreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 33554432 /f

(применяется порог 32 ГБ)
8 ГБreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 16777216 /f

(применяется порог 16 ГБ)
4 ГБreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 8388608 /f

(применяется порог 8 ГБ)

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

reg delete "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /f

Оставьте комментарий

Есть что сказать?

Este blog se aloja en LucusHost

LucusHost, el mejor hosting