Как да намерите и коригирате изтичане на памет в Windows 10

How Find Fix Memory Leaks Windows 10



Изтичането на памет в Windows е сериозен проблем, пред който са изправени потребителите. Научете как да проверявате, намирате, предотвратявате и коригирате изтичане на памет в Windows. Въпреки че е трудно, няколко стъпки могат да помогнат.

Ако вашият компютър с Windows 10 страда от проблеми с производителността, това може да се дължи на изтичане на памет. Ето как да намерите и коригирате изтичане на памет в Windows 10. Когато инсталирате Windows 10 за първи път, добра идея е да стартирате проверката на системните файлове. Това ще провери и поправи всички повредени системни файлове. За да направите това, отворете командния ред и въведете: sfc /сканиране След като сканирането приключи, рестартирайте вашия компютър. Ако все още виждате проблеми с производителността, време е да проверите за изтичане на памет. За да направите това, отворете диспечера на задачите и отидете на раздела 'Ефективност'. Под колоната Памет ще видите колко памет се използва. Ако този брой постоянно се увеличава, вероятно имате изтичане на памет. За да коригирате изтичане на памет, трябва да определите коя програма причинява проблема. За да направите това, отидете в раздела Подробности и проверете колоната PID. Това ще ви покаже PID (ID на процеса) на всяка работеща програма. Потърсете програмата с най-висок PID номер и прекратете този процес. След като приключите процеса, рестартирайте компютъра си и проверете дали проблемът е отстранен. Ако не, повторете процеса, докато откриете виновника.



ДА СЕ Изтичане на памет е неправилното разпределение на ресурси в компютърна програма поради неправилно разпределение на паметта. Случва се, когато отиде неизползваното пространство остава неосвободено. Изтичането на памет не трябва да се бърка с изтичане на пространство, което се отнася до програма, използваща повече RAM, отколкото се нуждае. Съобщава се за изтичане на памет в система Windows 10/8/7, когато паметта просто не е налична, въпреки че не се използва.







Изтичане на памет в Windows 10

Преди да започнете, трябва да знаете, че изтичането на памет е софтуерен проблем, който трябва да бъде отстранен, като например в Java, JavaScript, C/C++, Windows и т.н. Не се изисква физическа подмяна на RAM или твърд диск.





Изтичане на памет в Windows 10



Защо е лошо

Очевидно изтичането на памет е нещо лошо, защото е грешка, пропуск в системата. Но нека разберем как точно това се отразява на системата:

  1. Тъй като паметта не се освобождава, дори ако не се използва, това води до нейното изчерпване.
  2. Изчерпването на паметта води до стареене на софтуера.
  3. Намаляването на наличната памет води до увеличено време за реакция и намалена производителност на системата.
  4. Неконтролирано изтичане на памет може в крайна сметка да доведе до срив на приложението.

За да открие изтичане на памет, програмистът се нуждае от достъп до изходния код на програмата.

Откриване на течове

За да разрешим проблем, първо трябва да го идентифицираме. Основни стъпки за откриване на изтичане на памет:



  1. Потвърждение : Откриване на теч.
  2. Намиране на изтичане на памет в режим на ядрото : Търсете изтичане, причинено от компонент на драйвер в режим на ядрото.
  3. Намиране на изтичане на памет в потребителски режим : Откриване на теч, причинен от приложение за драйвер или потребителски режим.

Разпределение на паметта

Има различни режими на разпределение на RAM по приложения. Ако пространството не бъде освободено след използване, ще възникне изтичане на памет независимо от режима на разпределение. Ето някои общи модели на разпространение:

  1. Функция HealAlloc за разпределяне на памет в купчината. Еквивалентите на време за изпълнение на C/C++ са malloc и new.
  2. Функция VirtualAlloc за директно разпределение от ОС.
  3. Kernel32 API за съхраняване на памет на ядрото за приложение. Пример: CreateFile, CreateThread.
  4. API User32 и API Gdi32.

Предотвратяване на изтичане на памет

Всички знаем, че превенцията е по-добра от лечението, така че ето няколко начина за предотвратяване на изтичане на памет.

Мониторинг на навиците

Изтичане на памет в Windows 10

tcp ip оптимизиране

Трябва да внимавате за необичайно използване на RAM от отделни програми и приложения. Можете да отидете до диспечера на задачите на Windows, като щракнете CTRL + SHIFT + ESC и добавете колони като дръжки, потребителски обекти, GDI обекти и др.

Това ще ви помогне лесно да проследявате използването на ресурси.

Инструменти на Microsoft за диагностика на изтичане на памет

Различни инструменти диагностицират изтичане на памет за различни режими на разпределение:

  1. Application Verifier диагностицира течове на купчина.
  2. UMDH (компонент на инструментите за отстраняване на грешки на Windows) диагностицира течове за всеки процес чрез наблюдение на разпределенията на стека.
  3. Trace Capture за задълбочен анализ на използването на RAM.
  4. Xperf също следи моделите на разпределение на купчина.
  5. CRT Debug Heap не само следи разпределението на heap, но също така ви позволява да прилагате техники за кодиране, за да минимизирате течовете.
  6. JavaScript Memory Leak Detector отстранява грешки при изтичане на памет в кодове.

Съвети за употреба

  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. Опитайте да видите дали просто деактивирането работи.

скрийншотове, които не запазват Windows 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. под ' Разширено В раздела ' Изпълнението
Популярни Публикации