Ecco l'esempio prima e dopo il clustering dei processi su un'installazione di Windows 11 con 64 GB di RAM. Siamo scesi da 224 a 126 processi contemporaneamente in idle. Una riduzione di quasi 100 processi.


In passato, Windows raggruppava molti servizi di sistema in un unico processo svchost.exe. Tuttavia, a partire da Windows 10 (versione 1703), Microsoft ha cambiato questa prassi: se il PC ha più di 3,5 GB di RAM, Windows divide ogni servizio in un processo indipendente. La decisione si basa esclusivamente sulla quantità di memoria rilevata all'avvio.
E perché separare i processi? Beh, principalmente perché isolandoli, se un servizio si guasta, l'intero gruppo non va in tilt. È anche una questione di visibilità. È più facile vedere nel Task Manager quale servizio esatto sta consumando la CPU (senza dover indagare all'interno di un gruppo). È una questione di sicurezza, poiché l'isolamento tra i processi evita errori a catena.
Ma possiamo ingannare Windows impostando una soglia artificialmente alta. Credendo di non avere abbastanza RAM da "sprecare", Windows è costretto a impacchettare i servizi in un numero minore di contenitori, riducendo drasticamente il numero di processi totali.
I vantaggi del raggruppamento dei processi sono molteplici, come la riduzione dell'overhead del processore. Ogni processo indipendente richiede alla CPU di gestire i propri thread, le priorità e gli accessi alla memoria. Raggruppandoli, il carico di lavoro di gestione del processore si riduce.
È molto più facile monitorare il Task Manager senza centinaia di righe identiche e si ottiene un risparmio di memoria residua, poiché ogni processo aperto consuma una piccola quantità di RAM per il semplice fatto di esistere (la propria struttura di supporto). Raggruppandoli insieme, si recuperano alcuni MB di consumo fantasma.
L'unico possibile impatto negativo è quello menzionato sopra. Se un servizio si guasta in un sistema clusterizzato, può trascinare gli altri servizi che condividono lo stesso contenitore, causando il riavvio di diverse funzioni contemporaneamente. Se sono separati, solo quel particolare servizio si guasta senza influenzare il resto. I processi separati rendono più difficile che un errore di sicurezza in un servizio si ripercuota sugli altri componenti del sistema. Se si verifica un errore imprevisto, è sempre possibile ripristinare il clustering.
Non si tratta di un hack o di un nuovo trucco miracoloso. È qualcosa che si può trovare nella documentazione ufficiale di Microsoft su questo comportamento sul portale tecnico Microsoft Learn, rivolto a sviluppatori e amministratori di sistema.
Se volete provare, ecco una tabella con alcune equivalenze in base alla vostra RAM. Funziona sia per Windows 10 che per Windows 11. Per applicarla, basta aprire CMD o PowerShell come amministratore, eseguire il comando e riavviare.
Il registro SvcHostSplitThresholdInKB imposta una "soglia" di RAM. Se il PC dispone di una quantità di RAM superiore al valore impostato nel comando, Windows divide i processi. Se ne ha meno, li raggruppa. Per questo motivo, nella tabella seguente vengono forniti comandi con un valore sempre superiore alla RAM attuale; in questo modo si inganna Windows per raggruppare i servizi in blocco.
(Se la quantità di RAM non è presente nella tabella, è sufficiente calcolare il doppio della memoria attuale in GB e applicare la formula: GB x 1024 x 1024).
| La RAM attuale | Comando da applicare (raggruppare i processi) |
|---|---|
| 64 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 134217728 /f (si applica la soglia di 128 GB) |
| 32 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 67108864 /f(si applica la soglia di 64 GB) |
| 16 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 33554432 /f(si applica la soglia di 32 GB) |
| 8 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 16777216 /f (si applica la soglia di 16 GB) |
| 4 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 8388608 /f (si applica la soglia di 8GB) |
Per riportare una qualsiasi di queste modifiche allo stato di fabbrica, è sufficiente utilizzare quest'altro comando e riavviare.
reg delete "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /f





