Tässä on esimerkki ennen ja jälkeen klusterointiprosessien Windows 11 -asennuksessa, jossa on 64 Gt RAM-muistia. Laskimme 224 prosessista 126 prosessiin kerralla tyhjäkäynnillä, vaikka se vaihtelee jopa 123:een. Vähennys on lähes 100 prosessia.


Aiemmin Windows ryhmitti monia järjestelmäpalveluja yhteen svchost.exe-prosessiin. Windows 10:stä (versio 1703) alkaen Microsoft on kuitenkin muuttanut tätä: jos tietokoneessa on yli 3,5 Gt RAM-muistia, Windows jakaa jokaisen palvelun omaksi itsenäiseksi prosessikseen. Tämä päätös perustuu puhtaasti käynnistyksen yhteydessä havaittuun muistin määrään.
Ja miksi prosessit erotetaan toisistaan? No, pääasiassa siksi, että eristämällä ne, jos yksi palvelu ei toimi, koko ryhmä ei kaadu. Kyse on myös näkyvyydestä. Tehtävienhallinnassa on helpompi nähdä, mikä palvelu kuluttaa prosessoria (ilman, että tarvitsee tutkia ryhmän sisällä). Se on turvallisuuskysymys, koska prosessien välinen eristäminen estää ketjuvirheet.
Voimme kuitenkin huijata Windowsia asettamalla keinotekoisen korkean kynnysarvon. Koska Windows uskoo, ettei sillä ole tarpeeksi RAM-muistia "tuhlattavaksi", sen on pakko pakata palvelut pienempään määrään kontteja, mikä vähentää prosessien kokonaismäärää huomattavasti.
Prosessien klusteroinnilla on useita etuja, kuten prosessorin yleiskustannusten väheneminen. Kukin itsenäinen prosessi vaatii suorittimen hallitsemaan omia säikeitään, prioriteettejaan ja muistin käyttöoikeuksiaan. Kun ne ryhmitellään yhteen, prosessorin hallintatyökuorma vähenee.
Tehtävienhallinnan seuranta on paljon helpompaa ilman satoja identtisiä rivejä, ja muistia säästyy, koska jokainen avoin prosessi kuluttaa pienen määrän RAM-muistia pelkästään olemassaolonsa vuoksi (oma tukirakenteensa). Niiden ryhmittäminen yhteen vähentää muutaman megatavun haamukulutusta.
Ainoa mahdollinen kielteinen vaikutus on edellä mainittu. Jos jokin palvelu vikaantuu klusteroidussa järjestelmässä, se voi kaataa muut samaa konttia käyttävät palvelut, mikä aiheuttaa useiden toimintojen uudelleenkäynnistyksen kerralla. Jos ne ovat erillisiä, vain kyseinen palvelu vikaantuu vaikuttamatta muihin. Erilliset prosessit vaikeuttavat sitä, että yhden palvelun tietoturvavirhe vaikuttaa järjestelmän muihin komponentteihin. Jos kohtaat odottamattoman virheen, voit aina palauttaa klusteroinnin.
Tämä ei ole mikään hakkerointi tai uusi ihmetemppu. Se löytyy Microsoftin virallisesta dokumentaatiosta, joka koskee tätä käyttäytymistä Microsoft Learn-teknisessä portaalissa, joka on suunnattu kehittäjille ja järjestelmänvalvojille.
Jos haluat kokeilla sitä, tässä on taulukko, jossa on joitakin vastaavuuksia RAM-muistisi mukaan. Se toimii sekä Windows 10:ssä että Windows 11:ssä. Voit soveltaa sitä avaamalla CMD:n tai PowerShellin järjestelmänvalvojana, suorittamalla komennon ja käynnistämällä järjestelmän uudelleen.
SvcHostSplitThresholdInKB-rekisterissä asetetaan RAM-"kynnysarvo". Jos tietokoneessa on enemmän RAM-muistia kuin komennossa asetettu arvo, Windows jakaa prosessit. Jos sitä on vähemmän, se ryhmittelee ne yhteen. Siksi ne näkyvät aina komentotaulukossa arvolla, joka on suurempi kuin nykyinen RAM-muistisi; näin huijaamme Windowsia ryhmittelemään palvelut yhteen irtotavarana.
(Jos RAM-muistisi määrä ei ole taulukossa, laske kaksinkertainen määrä nykyistä muistia gigatavuina ja sovella kaavaa.) GB x 1024 x 1024).
| Nykyinen RAM-muistisi | Sovellettava komento (Ryhmittele prosessit) |
|---|---|
| 64 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 134217728 /f (sovelletaan 128GB:n kynnysarvoa) |
| 32 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 67108864 /f(64GB:n kynnysarvoa sovelletaan) |
| 16 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 33554432 /f(32GB:n kynnysarvoa sovelletaan) |
| 8 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 16777216 /f (16GB:n kynnysarvoa sovelletaan) |
| 4 GB | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 8388608 /f (8 Gt:n kynnysarvoa sovelletaan) |
Jos haluat palauttaa nämä muutokset takaisin tehdastilaan, käytä tätä toista komentoa ja käynnistä laite uudelleen.
reg delete "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /f





