כיצד למצוא ולתקן דליפות זיכרון ב- Windows 10

How Find Fix Memory Leaks Windows 10



אם מחשב Windows 10 שלך סובל מבעיות ביצועים, זה יכול להיות בגלל דליפת זיכרון. הנה איך למצוא ולתקן דליפות זיכרון ב-Windows 10. כאשר אתה מתקין לראשונה את Windows 10, מומלץ להפעיל את בודק קבצי המערכת. פעולה זו תבדוק ותתקן קבצי מערכת פגומים. כדי לעשות זאת, פתח את שורת הפקודה והקלד: sfc /scannow לאחר השלמת הסריקה, הפעל מחדש את המחשב. אם אתה עדיין רואה בעיות בביצועים, הגיע הזמן לבדוק אם יש דליפות זיכרון. כדי לעשות זאת, פתח את מנהל המשימות ועבור ללשונית ביצועים. תחת העמודה זיכרון, תראה כמה זיכרון נמצא בשימוש. אם המספר הזה גדל כל הזמן, סביר להניח שיש לך דליפת זיכרון. כדי לתקן דליפת זיכרון, עליך לזהות איזו תוכנית גורמת לבעיה. לשם כך, עבור ללשונית פרטים ובדוק את העמודה PID. זה יראה לך את ה-PID (מזהה תהליך) של כל תוכנית פועלת. חפש את התוכנית עם מספר ה-PID הגבוה ביותר וסיים את התהליך הזה. לאחר שסיימת את התהליך, הפעל מחדש את המחשב ובדוק אם הבעיה נפתרה. אם לא, חזור על התהליך עד שתמצא את האשם.



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





דליפות זיכרון ב-Windows 10

לפני שמתחילים, כדאי לדעת שדליפת זיכרון היא בעיית תוכנה שיש לבצע איתור באגים, כמו ב-Java, JavaScript, C/C++, Windows וכו'. אין צורך בהחלפה פיזית של זיכרון RAM או כונן קשיח.





דליפת זיכרון בווינדוס 10



למה זה רע

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

  1. מכיוון שהזיכרון אינו משוחרר גם אם לא נעשה בו שימוש, הוא גורם לו להתרוקן.
  2. מיצוי הזיכרון מביא להזדקנות התוכנה.
  3. צמצום הזיכרון הזמין מביא להגדלת זמן התגובה ולירידה בביצועי המערכת.
  4. דליפת זיכרון בלתי מבוקרת עלולה בסופו של דבר לקרוס את האפליקציה.

כדי לזהות דליפת זיכרון, המתכנת צריך גישה לקוד המקור של התוכנית.

איתור נזילות

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



  1. אִשׁוּר : איתור נזילה.
  2. מציאת דליפת זיכרון במצב ליבה : חפש דליפה הנגרמת על ידי רכיב מנהל התקן במצב ליבה.
  3. איתור דליפות זיכרון במצב משתמש : זיהוי של דליפה הנגרמת על ידי יישום מנהל התקן או מצב משתמש.

הקצאת זיכרון

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

  1. פונקציית HealAlloc להקצאת זיכרון בערימה. המקבילות לזמן הריצה של C/C++ הן malloc וחדשות.
  2. פונקציית VirtualAlloc להקצאה ישירה ממערכת ההפעלה.
  3. ממשקי API של Kernel32 לאחסון זיכרון ליבה עבור אפליקציה. דוגמה: CreateFile, CreateThread.
  4. API User32 ו-API Gdi32.

מניעת דליפת זיכרון

כולנו יודעים שמניעה עדיפה על ריפוי, אז הנה כמה דרכים למנוע דליפות זיכרון.

ניטור הרגלים

דליפות זיכרון ב-Windows 10

nvxdsync.exe

עליך להיזהר משימוש חריג בזיכרון RAM על ידי תוכניות ויישומים בודדים. אתה יכול לעבור למנהל המשימות של Windows על ידי לחיצה CTRL + SHIFT + ESC ולהוסיף עמודות כמו Handles, User Objects, GDI Objects וכו'.

זה יעזור לך לעקוב בקלות אחר השימוש במשאבים.

כלים של מיקרוסופט לאבחון דליפות זיכרון

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

  1. Application Verifier מאבחן דליפות ערימה.
  2. UMDH (רכיב של Windows Debugging Tools) מאבחן דליפות לכל תהליך על ידי ניטור הקצאות ערימה.
  3. Trace Capture לניתוח יסודי של שימוש ב-RAM.
  4. Xperf גם עוקב אחר דפוסי הקצאת ערימות.
  5. CRT Debug Heap לא רק עוקב אחר הקצאת ערימות, אלא גם מאפשר לך ליישם טכניקות קידוד כדי למזער את הדליפות.
  6. גלאי דליפות זיכרון JavaScript מאתר באגים דליפות זיכרון בקודים.

טיפים לשימוש

  1. השתמש בקרנל להתמודד עם s ומצביעים חכמים אחרים למשאבי Win32 והקצאות ערימות.
  2. קבל שיעורים לניהול משאבים אוטומטי להקצאת הליבה מספריית ATL. לתקן C++ יש auto_ptr להקצאת ערימה.
  3. עטפו מצביעי ממשק COM ב'מצביעים חכמים' עם _com_ptr_t אוֹ _bstr_t אוֹ _variant_t .
  4. מעקב אחר קוד NET עבור שימוש חריג בזיכרון.
  5. הימנע ממספר נתיבי יציאה לפונקציות כדי לאפשר הקצאות משתנות ברוב הבלוקים להשתחרר עד סוף הפונקציה.
  6. השתמש בחריגים מותאמים אישית רק לאחר שכל ההקצאות בבלוק _finally שוחררו. עטפו את כל הערימה וטפלו בהקצאות במצביעים חכמים לשימוש בחריגים ב-C++.
  7. תמיד תתקשר PropVariantClear לפני אתחול מחדש או מחיקת האובייקט PROPVARIANT.

תקן דליפות זיכרון ב-Windows

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

1] סגור תהליכים והפעל מחדש.

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

חלונות 10 מכבים זכוכית מגדלת

2] כלי אבחון זיכרון

אבחון זיכרון של Windows

כדי לגשת למובנה כלי אבחון זיכרון עבור Windows:

  1. שמור את כל העבודה החשובה שלך.
  2. נְקִישָׁה Win + R לִפְתוֹחַ לָרוּץ חַלוֹן.
  3. הזן פקודה mdsched.exe IN לָרוּץ חַלוֹן.
  4. הפעל מחדש את המחשב.
  5. לאחר ההפעלה מחדש, בצע סריקה בסיסית או בחר ' מִתקַדֵם 'אפשרויות כגון' תערובת בדיקה 'או' מספר מעברים '.
  6. נְקִישָׁה F10 כדי להתחיל את המבחן.

אלו הם תיקונים זמניים לעת עתה.

3] בדוק אם קיימים עדכוני מנהלי התקנים

עדכון תוכנת מנהל ההתקן

מנהלי התקנים מיושנים גורמים לדליפות זיכרון. עדכן את כל הדרייברים :

  1. נְקִישָׁה Win + R ופתוח לָרוּץ חַלוֹן. סוּג devmgmt.msc והקש Enter. זה ייקח אותך ל מנהל התקן .
  2. בדוק אם יש מנהלי התקנים מיושנים ועדכן את כולם.
  3. לעדכונים שאולי פספסת, בדוק את Windows Update.

זה היה קל.

4] מיטוב ביצועים

התאם לביצועים הטובים ביותר

כוונון ביצועי Windows ינהל הכל כולל תזמון מעבד ושימוש בזיכרון כדי למנוע דליפות זיכרון. בצע את השלבים הבאים:

  1. מקש ימני ' המחשב הזה »ובחר« מִתקַדֵם ״בפאנל השמאלי.
  2. תחת ' מִתקַדֵם בכרטיסייה ' הביצוע
רשום פופולרי