Вот пример до и после кластеризации процессов на установке 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





