להלן דוגמה למצב לפני ואחרי איחוד התהליכים במערכת Windows 11 עם 64 GB של זיכרון RAM. מספר התהליכים במצב המתנה צנח בבת אחת מ-224 ל-126, אם כי הוא נע בין 123 ל-126. מדובר בירידה של כמעט 100 תהליכים.


בעבר, Windows קיבצה שירותים רבים של המערכת בתוך תהליך אחד בשם svchost.exe. עם זאת, החל מ-Windows 10 (גרסה 1703), מיקרוסופט שינתה זאת: אם למחשב שלך יש יותר מ-3.5 GB של זיכרון RAM, Windows מחלקת כל שירות לתהליך נפרד משלו. זו החלטה המבוססת אך ורק על כמות הזיכרון שזוהתה בעת האתחול.
ולמה להפריד בין התהליכים? בעיקר משום שהבידוד ביניהם מבטיח שאם שירות אחד נכשל, לא כל הקבוצה קורסת. זו גם שאלה של נראות. קל יותר לראות במנהל המשימות איזה שירות בדיוק צורך משאבי מעבד (מבלי להידרש לחקור בתוך הקבוצה). זו גם שאלה של אבטחה, שכן הבידוד בין התהליכים מונע תקלות בשרשרת.
אבל אנחנו יכולים "לרמות" את Windows על ידי קביעת סף גבוה באופן מלאכותי. מכיוון ש-Windows סבור שאין לו מספיק זיכרון RAM "לבזבז", הוא נאלץ לדחוס את השירותים למספר קטן יותר של מכולות, מה שמצמצם באופן דרסטי את מספר התהליכים הכולל.
לריכוז תהליכים יתרונות רבים, כגון הפחתת העומס על המעבד. כל תהליך עצמאי מחייב את המעבד לנהל את ה-threads, את סדר העדיפויות ואת הגישה לזיכרון שלו. ריכוז התהליכים מקל על עומס הניהול של המעבד.
הרבה יותר קל לעקוב אחר מנהל המשימות כשאין בו מאות שורות זהות, ואנו חוסכים בזיכרון פנוי, שכן כל תהליך פתוח צורך כמות קטנה של זיכרון RAM רק מעצם קיומו (מבנה התמיכה שלו). איחודם חוסך כמה מגה-בייטים של צריכת זיכרון "רפאים".
ההשפעה השלילית היחידה האפשרית היא זו שכבר הוזכרה. אם שירות מסוים נכשל במערכת מקובצת, הדבר עלול להשפיע על השירותים האחרים החולקים את אותו המכל, ולגרום לאתחול מחדש של מספר פונקציות בו-זמנית. אם השירותים מופרדים, רק אותו שירות ספציפי נכשל מבלי להשפיע על השאר. תהליכים נפרדים מקשים על תקלת אבטחה בשירות אחד להשפיע על רכיבים אחרים במערכת. אם אתה נתקל בשגיאה בלתי צפויה, אתה תמיד יכול לבטל את הקיבוץ.
זה לא "טריק" ולא "תרגיל" חדש ו"פלאי". מדובר במידע המופיע בתיעוד הרשמי של מיקרוסופט בנוגע להתנהגות זו, בפורטל הטכני שלה Microsoft Learn, המיועד למפתחים ולמנהלי מערכות.
אם אתה רוצה לנסות את זה, הנה טבלה עם כמה התאמות בהתאם לזיכרון ה-RAM שלך. זה מתאים גם ל-Windows 10 וגם ל-Windows 11. כדי ליישם את זה, פשוט פתח את CMD או את PowerShell כמנהל, הפעל את הפקודה והפעל מחדש.
הרישום SvcHostSplitThresholdInKB קובע "סף" של זיכרון RAM. אם במחשב שלך יש יותר זיכרון RAM מהערך שנקבע בפקודה, Windows תחלק את התהליכים. אם יש פחות, היא תרכז אותם. לכן, בטבלת הפקודות הערך המופיע תמיד גבוה מה-RAM הנוכחי שלך; כך אנו גורמים ל-Windows לרכז את השירותים באופן מרוכז.
(אם נפח ה-RAM שלך אינו מופיע בטבלה, פשוט הכפל את נפח הזיכרון הנוכחי שלך ב-GB והחל את הנוסחה: נפח ב-GB x 1024 x 1024).
| זיכרון ה-RAM הנוכחי שלך | פקודה ליישום (אגד את התהליכים שלך) |
|---|---|
| 64 ג'יגה-בייט | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 134217728 / f (החל סף של 128GB) |
| 32 ג'יגה-בייט | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 67108864 /f(החל סף של 64GB) |
| 16 ג'יגה-בייט | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 33554432 /f(החל סף של 32GB) |
| 8 ג'יגה-בייט | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 16777216 / f (החל סף של 16GB) |
| 4 ג'יגה-בייט | reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 8388608 /f (החל סף של 8GB) |
כדי לבטל את השינויים הללו ולחזור להגדרות היצרן, די להשתמש בפקודה זו ולבצע אתחול מחדש.
reg delete "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /f






