משרד

חיפוש ותיקון דליפות זיכרון ב- Windows 10/8/7

[How-To] Install macOS Sierra 10.12 Onto A Virtual Machine in Windows ??

[How-To] Install macOS Sierra 10.12 Onto A Virtual Machine in Windows ??

תוכן עניינים:

Anonim

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

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

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

למה זה רע

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

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

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

איתור דליפה

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

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

הקצאת זיכרון

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

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

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

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

הרגלי ניטור

אתה צריך לפקוח עין על שימוש לא נורמלי RAM על ידי תוכניות ויישומים בודדים. אתה יכול ללכת מנהל המשימות של Windows על ידי לחיצה על CTRL + SHIFT + ESC ולהוסיף את העמודות כמו ידיות, אובייקטים משתמש, אובייקטים GDI, וכו `

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

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

יישום אימות אבחון מדליפות גל.

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

HANDLE

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

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

לחץ על

לחץ על

Win + R

לחץ על

לחץ על

  1. לחץ על
  2. כדי לפתוח את החלון הפעלה הקלד את הפקודה mdsched.exe
  3. בחלון הפעלה הפעל מחדש את המחשב לאחר, בצע את הסריקה הבסיסית או עבור אל `
  4. Advanced
  5. ` אפשרויות כגון ` תמהיל בדיקה ` או ` ספירת מעבר ` הקש F9
  6. כדי להתחיל את הבדיקה. אלה עדיין תיקונים זמניים. 3] בדוק אם קיימים עדכוני מנהלי התקן

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

הקש

Win + R

  1. ופתח את החלון Run . הקלד devmgmt.msc והקש על Enter. זה ייקח אותך אל מנהל ההתקנים חפש מנהלי התקנים מיושנים ועדכן את כולם. לקבלת עדכונים שהיית עלול לפספס, בדוק את Windows Update.
  2. זה היה פשוט. <
  3. 4] ביצוע אופטימיזציה

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

לחץ באמצעות לחצן העכבר הימני על `

מחשב זה

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

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

עבור אל `

מנהל המשימות

  1. ` עבור אל ` הפעלה
  2. ` השבת את תוכניות האתחול שאינך צריך להריץ כברירת מחדל. 6] Defrag Hard Drive
  3. על אף ש- Windows 10 עושה זאת עבורך באופן אוטומטי, ייתכן שיהיה עליך לבצע את האיחוי של הכוננים הקשיחים מדי פעם כדי לשפר את הביצועים:

עבור אל `

מחשב זה

  1. ` או ` המחשב שלי ` לחץ באמצעות לחצן העכבר הימני על הכונן הקשיח של המערכת (בדרך כלל כונן C). עבור אל `
  2. כלים
  3. `תחת` מאפיינים `ובחר` בצע אופטימיזציה ` בחר את הכונן כדי defrag ובחר` ניתוח
  4. ` הפעל מחדש את המחשב לאחר הפיצול החדש. 7] ClearPage File at shutdown

זה מתחיל להיות מורכב עכשיו - אבל אל תדאג. הנה כיצד לנקות את קובץ הדף בכל כיבוי:

סוג

regedit

  1. על חיפוש כדי להפעיל את עורך הרישום הזן נתיב זה: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionControlSession Manager ניהול זיכרון
  2. שנה את הערך של ClearPageFileAtShutDown ל `1`.
  3. שמור את השינויים והפעל מחדש את המכשיר. פעולה זו צריכה לעשות זאת
  4. 9] השבת Superfetch

שירות Windows זה ממטב את הביצועים על ידי מזעור זמן האתחול. הוא מאפשר ל- Windows לנהל את השימוש ב- RAM. החיים לאחר השבתת Superfetch לא נוח אבל לעשות את זה אם אתה חייב. לפחות נסה לבודד את הבעיה:

חפש

services.msc

  1. ועבור אל `מנהל השירותים`. חפש ` Superfetch
  2. ` ולחץ עליו באמצעות לחצן העכבר הימני כדי לעבור אל מאפיינים ` בחר` עצור
  3. ` גם` השבת
  4. `מהתפריט הנפתח. הפעל מחדש את המחשב ובדוק אם הביצועים השתפרו. אפשר Superfetch אם זה לא עובד. 10] חפש תוכנות זדוניות
  5. השתמש בתוכנת אנטי-וירוס של צד שלישי או ב- Windows Defender פנימי של Windows 10 כדי לסרוק ולסלק תוכנות זדוניות. ודא שהאנטי-וירוס מתעדכן כדי לתמוך במערכת ההפעלה שלך, כך שלא תהיה בסופו של דבר הסיבה לדליפת הזיכרון.

כל פתרון שתצטרך אי פעם למצוא או למנוע דליפות זיכרון נמצא כאן. ניתן לקרוא עוד אודות דליפות זיכרון ב- MSDN וב- Microsoft