אתה נתקל בבעיות ביצועים ביישומים ובשירותים כאשר מטמון קבצי המערכת צורך את רוב ה- RAM הפיזי

חל על
Microsoft Windows XP Professional x64 Edition Windows Vista Home Basic Windows Vista Home Premium Windows Vista Business Windows Vista Enterprise Windows Vista Ultimate Windows Vista Home Basic 64-bit Edition Windows Vista Home Premium 64-bit Edition Windows Vista Enterprise 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Server 2008 Datacenter without Hyper-V Windows Server 2008 Enterprise without Hyper-V Windows Server 2008 Standard without Hyper-V Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 for Itanium-Based Systems Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Standard

סימפטומים

אתה נתקל בבעיות ביצועים ביישומים ובשירותים בגירסאות שונות של Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 ו- Windows Server 2008 R2. בנוסף, אתה מבחין בתסמינים הבאים:

  • הזיכרון הזמין כמעט אזל.
  • מטמון קבצי המערכת צורך את רוב ה- RAM הפיזי.
  • יש נפח רציף וגבוה של בקשות קריאה המאוחסנות במטמון לדיסק הקשיח.

גורם

ניהול זיכרון במערכות הפעלה של Microsoft Windows משתמש באלגוריתם מבוסס דרישה. אם תהליך כלשהו מבקש ומשתמש בכמות גדולה של זיכרון, גודל ערכת העבודה (מספר דפי הזיכרון בזיכרון ה- RAM הפיזי) של התהליך גדל. אם בקשות אלה רציפות ולא נבדקות, מערך העבודה של התהליך יגדל לצרוך את כל ה- RAM הפיזי. במצב זה, ערכות העבודה של כל התהליכים האחרים מועברות לדיסק הקשיח. אופן פעולה זה פוגע בביצועים של יישומים ושירותים מכיוון שדפי הזיכרון נכתבים ברציפות בדיסק הקשיח ונקראים מהדיסק הקשיח.

אופן פעולה זה חל גם על ערכת העבודה של מטמון קבצי המערכת. אם קיים נפח רציף וגבוה של בקשות קריאה המאוחסנות במטמון מתהליך כלשהו או ממנהל התקן כלשהו, גודל ערכת העבודה של מטמון קבצי המערכת יגדל כדי לענות על דרישה זו. מטמון קבצי המערכת צורך את ה-RAM הפיזי. לכן, כמויות מספיקות של זיכרון RAM פיזי אינן זמינות לתהליכים אחרים.

בגירסאות 32 סיביות של מערכות ההפעלה Microsoft Windows הקודמות ל- Windows Vista, לערכות העבודה של מטמון קבצי המערכת יש מגבלת זיכרון תיאורטית של פחות מ-1 ג'יגה-בית (GB). המגבלה של טווח הכתובות הווירטואליות מונעת מערכות העבודה של מטמון קבצי המערכת לנצל את ה- RAM הפיזי.

בגירסאות 32 סיביות של מערכות ההפעלה Windows Vista, משאבי ליבה מוקצים באופן דינאמי. ערכת העבודה של מטמון קבצי המערכת גדלה כדי לצרוך את טווח הכתובות הווירטואליות של מצב הליבה על חשבון משאבי ליבה אחרים. המגבלה של טווח זיכרון זה קטנה מ- 2 GB. אם למחשב יש יותר מ- 2 GB של RAM פיזי, המטמון לא יכול לנצל את כל ה- RAM הפיזי. עם זאת, המטמון יכול לנצל את שטח הכתובות הווירטואליות בליבה. מצב זה עלול לגרום לכשלים בהקצאה של רכיבי ליבה אחרים.

בגירסאות 64 סיביות של מערכות הפעלה Windows, גודל טווח הכתובות הווירטואליות בדרך כלל גדול יותר מזה של ה- RAM הפיזי. במצב זה, ערכת העבודה עבור מטמון קבצי המערכת יכולה לגדול ולצרוך את רוב ה- RAM הפיזי.

פתרון

אלגוריתמי ניהול הזיכרון במערכות ההפעלה Windows 7 ו- Windows Server 2008 R2 עודכנו כדי לטפל בבעיות רבות של אחסון קבצים במטמון שנמצאו בגירסאות קודמות של Windows. ישנם רק מצבים ייחודיים מסוימים שבהם עליך ליישם שירות זה במחשבים שבהם פועל Windows 7 או Windows Server 2008 R2.

כיצד לקבוע אם המערכת מושפעת

כדי לקבוע אם המערכת מושפעת מבעיה זו, התקן את הכלי SysInternals RamMap. באפשרותך להשיג את הכלי מאתר האינטרנט הבא של Windows Sysinternals:

http://technet.microsoft.com/en-us/sysinternals/ff700229
בעת הפעלת הכלי, בחר באפשרות Use Counts . פעולה זו מציגה מספר עמודות המציגות את הדפוס הנוכחי של שימוש בזיכרון. לחץ על העמודה הפעילה כדי למיין לפי מספר הבתים שנמצאים בשימוש, ורשום את השימוש העליון ישירות מתחת לסכום.

אם ספירת השימוש המרבית היא "Metafile", ואם חלק גדול מהזיכרון הזמין נמצא בשימוש, אתה נתקל בבעיית מטמון קבצי המערכת המתוארת בסעיף "מאפייני הבעיה". באפשרותך לאמת זאת על-ידי שימוש בצג הביצועים כדי לנטר את מונה הבתים התושבים של זיכרון\מטמון המערכת ולראות כיצד המטמון גדל ברציפות לאורך זמן.

איור 1. דוגמה לפלט RamMap שבו המחשב נתקל בבעיה.

10214de2-59a3-f4c0-07fb-5f75a3cbcd47

איור 2. דוגמה לפלט RamMap שבו המחשב אינו נתקל בבעיה.

26eb9766-30fb-0aba-069b-b9f6b636a812

אם מונה הבתים התושבים של זיכרון\מטמון מערכת בצג הביצועים מציג מגמת עלייה לאורך זמן, המחשב נתקל בבעיה, כפי שמוצג באיור 3.

איור 3. דוגמה לפלט של צג ביצועים שבו המחשב חווה את הבעיה לאורך זמן.

5a390908-db40-e825-d4fd-348cd86d33eb

דרישות הפעלה מחדש

אין צורך להפעיל מחדש את המחשב בעת התקנה, הסרת התקנה או שימוש בשירות זה.

אם אתה קורא מאמר זה מכיוון שאתה עובד עם לקוח שסבור שהוא מושפע מבעיה זו, בצע את השלבים הבאים כדי לסייע בפתרון הבעיה.

  1. ודא שפלט RamMap, נתוני Perfmon או poolmon של הלקוח מאשרים שמטמון קבצי המערכת צורך את רוב ה- RAM הפיזי, כפי שתואר קודם לכן.

  2. כדי להשיג את שירות המטמון הדינאמי של Windows, הורד אותו כאן.

  3. להלן כמה הגדרות רישום של מטמון דינאמי:

    שרתי קבצים, אולי תרצה לנסות 1GB.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007, כדאי לך לנסות 500 MB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 ואילך, בעבר, בעת עבודה עם SQL EE, השתמשו ב- 2GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

מידע נוסף

כדי לעקוף בעיה זו, השתמש בפונקציית ה- API GetSystemFileCacheSize ובפונקציית ה- API SetSystemFileCacheSize כדי להגדיר את ערך הגודל המרבי או המינימלי עבור ערכות העבודה של מטמון קבצי המערכת. השימוש בפונקציות אלה הוא השיטה הנתמכת היחידה להגבלת צריכת הזיכרון הפיזי על-ידי מטמון קבצי המערכת.

שירות המטמון הדינאמי של Microsoft Windows הוא שירות לדוגמה המדגים אסטרטגיה אחת לשימוש בממשקי API אלה כדי למזער את ההשפעה של בעיה זו.

התקנה ושימוש בשירות המטמון הדינאמי של Microsoft אינם גורמים לאי-הכללה של התמיכה ב- Microsoft Windows. שירות זה וקוד המקור שלו ניתנים כדוגמה לשימוש בממשקי ה- API הנתמכים של Microsoft כדי להפחית את הגידול במטמון של מערכת הקבצים.

תוכל להשיג את השירות ואת קוד המקור מאתר האינטרנט הבא של Microsoft:

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

משאבים נוספים

קרא את פרקים 9 (ניהול זיכרון) ו-10 (מנהל מטמון) של Windows Internals, המהדורה החמישית.

ניהול זיכרון (בעיות במטמון מערכת גדול) פרסום בבלוג

בעיות איטיות בהעתקת קבצים גדולים רשומת בלוג

מגבלות זיכרון עבור מהדורות Windows

976618 אתה נתקל בבעיות ביצועים ביישומים ושירותים כאשר מטמון קבצי המערכת צורך את רוב ה- RAM הפיזי

918483 כיצד להפחית את ההחלפה של זיכרון מאגר המאגר בגירסת 64 סיביות של SQL Server

895932 דברים שיש לקחת בחשבון לפני הפיכת מצב מטמון מערכת לזמין ב- Windows XP

232271 כיצד למטב את Windows NT Server באמצעות הרישום

837331 אודות מנהל המטמון ב Windows Server 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

LargeSystemCache נושא TechNet

רשומת בלוג של RamMap

מצב

Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".