- Когда определенное приложение занимает больше памяти, чем обычно, система становится медленной, даже не отвечает, и пользователи не могут выполнять даже самые простые задачи в Windows.
- Хотя Windows 10 на данный момент является самой продвинутой операционной системой, утечки памяти по-прежнему случаются довольно часто.
- Посетите наш Windows 10 Hub, чтобы получить дополнительную информацию и полезные решения от наших надежных технических экспертов.
- Взгляните на наш раздел Fix, чтобы получить полные инструкции по устранению технических проблем.
Самый большой враг памяти ПК – это утечка памяти. Существует множество причин утечки памяти, но наиболее распространенной является оплошность программирования.
Мы подготовили множество решений, которые помогут вам предотвратить повторные утечки памяти. Могут быть задействованы различные факторы, и мы собираемся рассмотреть большинство из них.
Что такое утечки памяти в Windows?
Утечка памяти означает потерю оперативной памяти в Windows, вызванную программой или приложением.
Каждый запущенный процесс в Windows занимает определенное количество оперативной памяти. Проблема полностью программная.
Есть программы, которые более требовательны и требуют большего использования ОЗУ для правильной работы, например Google Chrome или Adobe Photoshop, а есть менее требовательные программы, которые фактически занимают меньший объем памяти.
Итак, когда программа занимает больше памяти, чем должна, мы называем это утечкой памяти .
Что такое оперативная память и как ее используют программы?
RAM (оперативная память) – это относительно небольшой объем памяти, в которой хранятся данные запущенных процессов.
Программы хранят данные в оперативной памяти временно, фактически только во время работы. Итак, когда вы перезагружаете компьютер, ОЗУ опустошается. Каждая программа хранит свою информацию о работе в оперативной памяти.
Поскольку программы разные, более требовательные и программы, которые действительно выполняют более сложные действия, хранят больше данных в ОЗУ и, следовательно, требуют больше памяти, тогда как более простые программы используют меньше памяти.
1. Перезагрузите компьютер.
- Нажмите клавиши CTRL + SHIFT + ESC, чтобы открыть диспетчер задач .
- Перейдите на вкладку « Процессы » и посмотрите, какая программа использует больше всего памяти.
- Просто нажмите Завершить процесс , чтобы закрыть эту программу.
Теперь программа закрыта, но проблема еще не решена, потому что объем памяти, первоначально запрошенный этой программой, по-прежнему недоступен для других процессов.
Лучшее решение для этого – просто перезагрузить компьютер, и утечка памяти не появится, пока вы не откроете проблемную программу в следующий раз.
В ОЗУ хранятся данные только о запущенных процессах, когда компьютер выключен. Поэтому, когда вы перезагружаете компьютер, ОЗУ опустеет, и проблема с утечкой памяти исчезнет.
2. Используйте встроенные инструменты Windows 10.
- Перейдите в Поиск, введите Средство диагностики памяти и откройте его.
- Выберите « Перезагрузить сейчас», проверьте наличие проблем и не забудьте сохранить свою работу перед перезапуском.
В Windows 10 есть собственные встроенные средства диагностики, которых часто бывает достаточно для проведения точного анализа, который поможет вам определить причину проблемы.
Этот тип инструментов сканирует ваш компьютер на предмет потенциальных проблем с памятью, включая утечки памяти, и дает вам точную диагностику обо всех обнаруженных проблемах.
- Перейдите в « Поиск», введите « Монитор ресурсов» и откройте его.
- Это позволяет вам просматривать данные о вашей системе в реальном времени.
3. Проверьте обновления драйверов.
- Перейдите в Поиск, введите Диспетчер устройств и откройте его.
- Проверьте все драйверы, рядом с которыми стоит желтый восклицательный знак .
- Щелкните его правой кнопкой мыши и выберите « Обновить драйвер»…
- Следуйте инструкциям мастера на экране.
Устаревшие драйверы могут быть причиной различных проблем в Windows 10, в том числе утечек памяти.
Хотя устаревший драйвер не обязательно должен влиять на какую-либо программу и, следовательно, вызывать утечку памяти, он сам может использовать больше памяти, чем должен.
Но если вы не знаете, какой именно драйвер следует обновить, проверка каждого драйвера по отдельности – это слишком большая работа. Итак, вам следует попробовать другой метод обновления драйверов в Windows 10.
Мы настоятельно рекомендуем инструмент DriverFix для обновления драйверов, чтобы избежать необратимого повреждения вашего компьютера из-за загрузки неправильных версий драйверов вручную.
После установки этот замечательный инструмент проверит версии установленных драйверов по своей облачной базе данных последних версий и автоматически загрузит обновления.
Все, что вам нужно сделать, это дождаться завершения сканирования.
Имейте в виду, что обновление драйверов – это сложная процедура. Если вы не будете осторожны, вы можете нанести непоправимый ущерб своей системе, загрузив неправильные версии драйверов.
Однако мы рекомендуем вам загрузить этот инструмент для обновления драйверов (на 100% безопасный и протестированный нами), чтобы сделать это автоматически. Таким образом, вы предотвратите утечку памяти и даже необратимое повреждение вашего ПК.
DriverFix
DriverFix автоматически установит последние версии драйверов, чтобы вы могли своевременно обновлять ваш компьютер. Бесплатная пробная версия Посетить сайт
4. Удалите вредоносное ПО.
Точно так же, как устаревшие драйверы, вредоносные программы и другие виды вредоносного ПО являются причиной многих известных проблем в Windows, и утечки памяти не являются исключением.
Итак, если ваш компьютер заражен вредоносным ПО, он почти наверняка не будет работать хорошо (в зависимости от типа вредоносного ПО).
Единственное, что можно сделать в этом случае, – это очистить наши компьютеры от нежелательных гостей.
Мы рекомендуем Bitdefender Antivirus Plus – надежную антивирусную программу, которая защищает ваш компьютер от вирусов, троянов, вредоносных программ, шпионского ПО и других угроз в Интернете, таких как руткиты или программы-вымогатели.
Программа представляет собой комбинацию классического антивирусного сканера, обнаружения рекламного ПО на основе поведения, а также облачной функциональности, которая обеспечивает точность и предотвращает утечки памяти.
Это замечательное программное обеспечение использует передовые технологии искусственного интеллекта для прогнозирования, обнаружения и мгновенного блокирования даже новейших угроз.
Последняя версия поставляется с функцией анти-трекера, которая блокирует трекеры, которые пытаются собрать ваши данные. Анти-трекер обещает позволить вам заниматься серфингом в приватном режиме и быстрее загружать сайты.
Bitdefender Antivirus Plus
Вы можете полностью защитить свой компьютер от вредоносных программ с помощью программного обеспечения Bitdefender Antivirus Plus! $ 74.99 Посетить веб-сайт
5. Настройте на лучшую производительность
- Щелкните правой кнопкой мыши « Этот компьютер» на рабочем столе.
- Выберите Расширенные настройки системы.
- Перейдите на вкладку Advanced .
- Нажмите « Настройки» в разделе « Производительность».
- Просто отметьте опцию Adjust for best performance .
- Щелкните ОК.
- Перезагрузите компьютер.
6. Отключите программы, запущенные при запуске.
- Нажмите клавиши CTRL + SHIFT + ESC, чтобы открыть диспетчер задач .
- Перейдите на вкладку Автозагрузка .
- Щелкните программу, которую хотите отключить, и выберите « Отключить».
- Перезагрузите компьютер.
Если при запуске запущена программа, вызывающая утечку памяти, это смертельная комбинация. Вы просто попадете в цикл, в котором проблема автоматически появится снова, независимо от того, сколько раз вы ее временно решали.
Чтобы справиться с этой проблемой, нам просто нужно отключить проблемную программу при запуске, и она больше не будет вызывать у нас проблем автоматически.
Если диспетчер задач уже показал вам, какая программа вызывает утечку памяти, а также бывает, что программа запускается при запуске, просто отключите ее, и это должно быть все.
7. Дефрагментация жестких дисков.
- Перейдите на этот компьютер .
- Щелкните правой кнопкой мыши текущий системный жесткий диск (скорее всего, C 🙂 .
- Перейдите на вкладку « Инструменты » и нажмите « Оптимизировать».
- Выберите диск, который нужно дефрагментировать, и выберите « Анализировать».
- Дождитесь завершения процесса.
- Перезагрузите компьютер.
Рекомендуется время от времени дефрагментировать жесткий диск. Помимо оптимизации жесткого диска, это также может принести дополнительные преимущества вашему компьютеру, включая лучшее управление памятью.
8. Взлом реестра.
- Перейдите в раздел « Поиск» , введите regedit и выберите « Редактор реестра» .
- Найдите следующий путь:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
- Найдите ClearPageFileAtShutDown и измените его значение на 1.
- Сохранить изменения.
- Перезагрузите компьютер.
Не можете получить доступ к редактору реестра? Ознакомьтесь с этим руководством и быстро решите проблему.
9. Отключить Runtime Broker.
- Нажмите клавиши CTRL + SHIFT + ESC, чтобы открыть диспетчер задач .
- Найдите процесс Runtime Broker и щелкните его.
- Перейти к Отключить.
Runtime Broker – это процесс, который помогает системе управлять разрешениями на вашем ПК для приложений из Microsoft Store.
По умолчанию Runtime Broker должен использовать небольшой объем памяти, но из-за возможного сбоя приложения этот процесс может значительно замедлить работу вашего ПК.
10. Отключите Superfetch.
- Перейдите в Поиск , введите services.msc и откройте Службы.
- Найдите процесс под названием Superfetch.
- Щелкните его правой кнопкой мыши и выберите « Свойства».
- Выберите « Остановить» и выберите « Отключить» в раскрывающемся меню « Тип запуска» .
- Перезагрузите компьютер.
Superfetch – еще одна служба Windows, цель которой – оптимизировать производительность системы. Этот процесс позволяет Windows управлять объемом оперативной памяти, сокращать время загрузки и повышать эффективность загрузки приложений.
Отключать Superfetch не рекомендуется, но вы можете поэкспериментировать с ним, если хотите определить, действительно ли это замедляет работу вашего ПК.
После отключения сравните производительность вашего ПК до и после. Если система по-прежнему работает так же медленно, как и раньше, вы можете снова включить Superfetch.
11. Отключите советы и рекомендации Windows
- Перейдите в меню «Пуск» и нажмите « Настройки».
- Выберите Система и выберите Уведомления и действия.
- Найдите Получайте советы, рекомендации и предложения при использовании Windows и снимите флажок.
Советы и рекомендации по Windows 10 действительно полезны для новых пользователей. Эта функция показывает им, как использовать систему, а также некоторые дополнительные полезные параметры.
Утечки памяти нет, но система все еще работает медленно? Добавьте больше оперативной памяти!
Если вы недавно столкнулись с этой проблемой на своем ПК, попробовали все наши решения, но ваш компьютер по-прежнему работает медленно, проблема, вероятно, связана с фактическим объемом оперативной памяти.
Если на вашем ПК недостаточно оперативной памяти для удовлетворения всех требований, лучшим доступным решением является обновление оперативной памяти, если вы хотите, чтобы ваш компьютер работал нормально.
При увеличении объема оперативной памяти ваша системная память станет больше, и она сможет обрабатывать еще более сложные операции.
На этом мы поговорим об утечках памяти в Windows 10. Мы надеемся, что эта информация была для вас полезной и что нам удалось решить проблему.
Если у вас есть комментарии, вопросы или предложения, не стесняйтесь сообщить нам об этом в разделе комментариев ниже.
Примечание редактора : этот пост был первоначально опубликован в октябре 2016 года и с тех пор был переработан и обновлен в сентябре 2020 года для обеспечения свежести, точности и полноты.
На чтение 5 мин. Просмотров 1.1k. Опубликовано 25.06.2019
Содержание
- Узнайте, как найти утечку памяти и устранить ее в Windows 7, 8 и 10
- Найти утечку памяти с помощью монитора ресурсов Windows
- Диагностика утечки памяти с помощью Windows ‘RaMMap
- Проверьте оперативную память с помощью средства диагностики памяти Windows
- Пустая резервная память в Windows с RaMMap
- Очистка резервной памяти с интеллектуальным очистителем резервных списков
- Устранить утечку памяти в Windows 10 с помощью FreeStandbyMemory.bat
- Исправьте утечку памяти, обновляя драйверы
Узнайте, как найти утечку памяти и устранить ее в Windows 7, 8 и 10
В Windows утечка памяти происходит, когда приложение или системный процесс неправильно высвобождают блок оперативной памяти в диспетчер памяти операционной системы, когда он больше не нужен. В некоторых случаях программа может вернуть только часть использованного блока памяти, в других ничего не освобождается. Поскольку физическая ОЗУ является ограниченным ресурсом, важно убедиться, что у вас достаточно ресурсов для обработки рабочей нагрузки. Хотя в Windows существует несколько типов утечек памяти, самой распространенной на данный момент является проблема с резервной памятью. Возвращаясь к Windows 7, проблема с резервной памятью по-прежнему широко распространена в Windows 10. Как только ваша резервная память полностью израсходует вашу свободную память, ваша система может начать зависать и даже зависать. Поскольку утечка памяти обычно является результатом программной ошибки или сбоя, важно постоянно обновлять все драйверы.
Найти утечку памяти с помощью монитора ресурсов Windows
Resource Monitor – отличный встроенный инструмент, который даст вам более четкое представление о том, как Windows управляет ресурсами вашего компьютера (оперативной памятью, процессором, жесткими дисками и т. Д.). Если вы подозреваете, что приложение или процесс не освобождают вашу резервную память, Resource Monitor является отличным местом для начала наблюдения. Следующие шаги показывают, как просмотреть использование памяти вашей системой в Windows 10, 8 и 7.
-
Нажмите клавишу Windows + R , введите resmon , затем выберите ОК .
-
Выберите вкладку Память , затем выберите Фиксация , чтобы изменить порядок списка.
-
Следите за режимом ожидания (синяя полоса) с приложениями, с которыми вы обычно работаете.
Возможно, вам придется на некоторое время оставить монитор ресурсов запущенным, чтобы обнаружить любые утечки. Сделайте снимок экрана или сделайте заметку при первом открытии инструмента для удобного сравнения.
Диагностика утечки памяти с помощью Windows ‘RaMMap
RaMMap – это бесплатный инструмент от Microsoft, который в режиме реального времени показывает данные о том, как Windows управляет и распределяет вашу оперативную память. Как и в Resource Monitor, RaMMap отображает использование памяти в режиме ожидания и работает в Windows 10, 8 и 7. Следующие шаги иллюстрируют, как загрузить и запустить RaMMap.
-
Перейдите на страницу Sysinternals в RaMMap и выберите Загрузить RaMMap .
-
Перейдите в папку Загрузки , скопируйте архив RaMMap в нужную папку и распакуйте его.
-
Нажмите правой кнопкой мыши файл приложения RaMMap и выберите Запуск от имени администратора .
-
Выберите Да .
-
Просмотрите УСЛОВИЯ ЛИЦЕНЗИИ НА ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ SYSINTERNALS , затем выберите Согласиться .
-
Перейдите на вкладку Использовать счетчики , а затем проследите за тем, чтобы резервная память не увеличилась.
Если ваша система теряет свободную память более постепенно, вам может потребоваться некоторое время запустить RaMMap. Запишите вашу резервную память до и после, чтобы увидеть, если у вас есть утечка оперативной памяти.
-
Вы также можете более подробно рассмотреть каждый процесс, который использует вашу физическую память, на вкладке Процессы .
Проверьте оперативную память с помощью средства диагностики памяти Windows
Запуск Windows Diagnostics – это отличный способ тщательно проверить физическую память вашего компьютера на наличие ошибок.
- Нажмите клавишу Windows + R , введите mdsched.exe , затем выберите ОК .
- Выберите Перезагрузить сейчас и проверьте наличие проблем (рекомендуется) .
- Тест начнется и может занять несколько часов. Следуйте инструкциям на экране после завершения теста.
Пустая резервная память в Windows с RaMMap
В дополнение к мониторингу использования вашей памяти, RaMMap также может использоваться для очистки вашего резервного списка вручную.
- Нажмите правой кнопкой мыши файл приложения RaMMap и выберите Запуск от имени администратора .
- Выберите Пусто , затем Пустой резервный список .
- Ваша резервная память теперь должна быть значительно ниже.
Очистка резервной памяти с интеллектуальным очистителем резервных списков
Intelligent Standby List Cleaner (ISLC) – это бесплатный инструмент, предлагаемый Wagnardsoft, который автоматически очистит резервную память вашего компьютера, основываясь на нескольких редактируемых условиях.
-
Откройте веб-браузер, перейдите на официальную страницу форума приложения, выберите Официальная загрузка здесь , затем выберите Сохранить файл .
-
Перейдите в папку Загрузки , щелкните правой кнопкой мыши архив ISLC 7z и выберите Запуск от имени администратора .
-
Выберите Да , когда появится окно контроля учетных записей.
-
Перейдите в папку, выберите ОК , а затем Извлечь .
-
После извлечения щелкните правой кнопкой мыши Интеллектуальный очиститель резервных списков ISLC и выберите Запуск от имени администратора .
-
Выберите Да , когда появится диалоговое окно UAC.
-
Выберите Очистить резервный список , чтобы вручную очистить резервную систему. Изменить значения для; Размер списка не менее , а Свободная память меньше в соответствии с вашими требованиями.
Выберите Начать сворачиваться , чтобы запускать ISLC в фоновом режиме при каждой загрузке системы.
Устранить утечку памяти в Windows 10 с помощью FreeStandbyMemory.bat
Сценарий freestandbymemory.bat – это еще один полезный инструмент, помогающий смягчить проблемы с резервной памятью Windows 10. Он запускается каждые 3 минуты автоматически в фоновом режиме и очищает резервную память, если объем физической памяти вашего компьютера падает ниже 1500 МБ. Скрипт можно загрузить бесплатно и предназначен для Windows 10.
-
Перейдите на страницу сценария Pastebin, выберите скачать , затем Сохранить файл .
-
Перейдите в папку Загрузки , щелкните правой кнопкой мыши freestandbymemory (пакетный файл) и выберите Запуск от имени администратора .
-
Выберите Дополнительная информация .
-
Выберите Запустить в любом случае .
-
Выберите Да .
-
После добавления сценария выберите любой ключ для продолжения. FreeStandbyMemory теперь будет работать в фоновом режиме в вашей системе.
-
Чтобы удалить сценарий, перейдите на страницу Этот ПК> Windows (C :)> Windows , щелкните правой кнопкой мыши FreeStandbyMemory и выберите Удалить .
Исправьте утечку памяти, обновляя драйверы
Хотя существует несколько инструментов для проверки устаревших драйверов, лучше проверять их по отдельности, чтобы убедиться, что все обновлено.
- Введите диспетчер устройств в поиск Windows, затем выберите Открыть после заполнения результатов.
- Разверните раздел оборудования.
- Нажмите правой кнопкой мыши на устройстве и выберите Обновить драйвер .
A Memory Leak is a misplacement of resources in a computer program due to faulty memory allocation. It happens when a RAM location not in use remains unreleased. A memory leak is not to be confused with a space leak or high memory usage, which refers to a program using more RAM than necessary. A memory leak on a Windows 11/10/8/7 system is said to have occurred when the memory is not accessible despite not being in use.
You should know that a Memory leak is an operating system or software issue to debug – for example, in Java, JavaScript, C/C++, Windows, etc. It is not to be confused with a space leak or high memory usage. Physically replacing RAM or hard disk isn’t required.
Why is a memory leak bad
A memory leak is bad because it is a bug, a flaw in the operating system or software. But let’s find out how exactly it affects the system:
- Since the memory is not freed even when not in use, it results in memory depletion.
- Exhaustion of the memory results in software aging.
- Reduced available memory leads to increased response time and poor performance by the system.
- An unchecked memory leak can eventually lead to the crash of an application.
In order to identify a memory leak, a programmer needs to have access to the source code of the program.
How to locate the memory leak
To solve a problem, we need to identify it first. The basic steps to locate a memory leak are:
- Affirmation: Determining whether a leak has occurred.
- Finding Kernel-mode memory leak: Locating a leak caused by a kernel-mode driver component.
- Finding User-mode memory leak: Locating a leak caused by a user-mode driver or app.
How does Memory allocation occur
There are different modes in which applications allocate RAM. If space is not freed after use, the memory leak will occur irrespective of the mode of allocation. Some common allocation patterns are:
- HealAlloc function for heap memory allocation. The C/C++ runtime equivalents are malloc and new.
- VirtualAlloc function for direct allocation from OS.
- Kernel32 APIs to hold kernel memory for the app. Example, CreateFile, CreateThread.
- User32 APIs and Gdi32 APIs.
How to prevent memory leaks in Windows
We all know prevention is better than cure, so it is important to monitor your system.
You need to watch for abnormal RAM usage by individual programs and applications. You can go to the Windows Task Manager by pressing CTRL+SHIFT+ESC and add the columns like Handles, User Objects, GDI Objects, etc.
This will help you easily monitor resource usage.
Read: What are the Types of Memory in a computer?
Microsoft tools to diagnose memory leaks
Various tools diagnose memory leaks for various allocation modes:
- Application Verifier diagnoses heap leaks.
- UMDH ( a component of Windows Debugging Tools) analyzes leaks for individual processes by monitoring heap memory allocations.
- Trace Capture for a thorough analysis of RAM usage.
- Xperf too tracks heap allocation patterns.
- CRT Debug Heap not only tracks heap allocations but also enables coding practices to minimize leaks.
- JavaScript Memory Leak Detector debugs memory leaks in codes.
Usage Tips
- Use kernel HANDLEs and other smart pointers for Win32 resources and heap allocations.
- Get classes for automatic resource management for kernel allocations from the ATL library. C++ standard has auto_ptr for heap allocations.
- Encapsulate COM interface pointers within “smart pointers” with the help of _com_ptr_t or _bstr_t or _variant_t.
- Monitor the .NET code for abnormal memory usage.
- Avoid multiple exit paths for functions to let allocations be freed from variables in most blocks by the end of a function.
- Use native exceptions only after freeing all allocations in the _finally block. Wrap all heap and handle allocations into smart pointers in order to use C++ exceptions.
- Always call the PropVariantClear function before reinitializing or discarding a PROPVARIANT object.
How to fix a Memory Leak in Windows 11/10
Just like the various ways to prevent memory leaks, there are various ways to stop memory leaks. But before you begin, remember to create a system restore point first.
1] Close processes and restart
If you see an unnecessary process taking up too much RAM, you can end the process in the Task Manager. You will need to restart the device so that the freed space is available for use by other processes. Without a Restart memory leak issue won’t be solved. Runtime Broker is one process that is known to slow down the PC. See if disabling that one alone works.
2] Memory Diagnostic Tools
To access the inbuilt Memory Diagnostic Tool for Windows:
- Save all your important work.
- Press Win + R to open the Run window.
- Type the command mdsched.exe in the Run window.
- Restart the PC.
- After a restart, perform a basic scan or go for the ‘Advanced’ options like ‘Test mix’ or ‘Pass count’.
- Press F10 to start the test.
These are still temporary fixes.
3] Check for Driver updates
Outdated drivers cause memory leaks. Keep all drivers updated. Follow one of the methods below to update your device drivers:
- You may check for Driver Updates via Windows Optional Updates to update your drivers
- You may visit the manufacturer’s site to download the drivers.
- Use a free driver update software
- If you have the INF driver file already on your computer then:
- Open Device Manager.
- Click the driver category to expand the menu.
- Then choose the relevant driver and right-click on it.
- Select Update Driver.
- Follow the on-screen wizard to finish updating your audio drivers.
Updating your operating system and the installed programs and Microsoft Store apps could help too.
4] Optimize performance
Adjusting Windows for performance will manage everything including processor scheduling and memory usage to stop memory leaks. Follow these steps:
- Right-click on ‘This PC’ and select ‘Advanced’ settings on the left pane.
- Under the ‘Advanced’ tab, go to ‘Performance’, followed by ‘Settings’.
- Check ‘Adjust for best performance’ and click OK.
- Restart and check if the issue is solved.
If this simple solution does not work, try the next solution.
5] Disable Programs running on Startup
Disabling the troublesome programs is the only way to get rid of the memory leak issue. Go to Task Manager and disable the troublemaking program. If you don’t know which programs are creating the trouble, do this:
- Go to ‘Task Manager’.
- Go to ‘Startup’.
- Disable the startup programs you don’t need to run by default.
6] Defrag Hard Drive
Although Windows 11/10 does this for you automatically, you may need to defrag the hard drives occasionally to optimize performance:
- Go to ‘This PC’ or ‘My Computer’.
- Right-Click the system hard drive (usually C: drive).
- Go to ‘Tools‘ under ‘Properties‘ and select ‘Optimize’.
- Select the drive to defrag and select ‘Analyze’.
Restart your computer after the new fragmentation.
7] ClearPage File at shutdown
It is getting complex now – but don’t worry. Here’s how to clear the Page File at every shutdown:
- Type regedit on Search to launch the Registry Editor.
- Enter this path:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
- Change the value of ClearPageFileAtShutDown to ‘1’.
- Save the changes and Restart the device.
This ought to do it. Do remember that your shutdown process will take a little more time.
9] Disable Superfetch
This Windows Service optimizes performance by minimizing boot time. It lets Windows manage RAM usage. Life after disabling Superfetch is not convenient but do it if you must. At least try this alone to isolate the problem:
- Search services.msc and go to Services Manager.
- Look for ‘Superfetch’ and right-click it to go to ‘Properties’.
- Select ‘Stop’.
- Also ‘Disable’ the service from the drop-down menu.
- Restart the PC and check if the performance has improved.
Enable Superfetch if this one doesn’t work.
10] Check for malware
Use a third-party antivirus software or Windows in-house Microsoft Defender to scan and eliminate malware. Ensure the antivirus is updated to support your OS so that it doesn’t become the reason for the memory leak.
Every solution you might need to find or prevent memory leaks is here. You can read more about memory leaks on MSDN and Microsoft.
Read: Memory leak issue in Remote Registry Service causes Windows to hang.
На чтение 18 мин. Просмотров 7.4k. Опубликовано 03.09.2019
Вы только что приобрели себе новый компьютер, убежденный, что новое оборудование стоит каждого копейки. Но тогда возникает проблема, и ваша новая мощная машина больше не кажется такой мощной. Производительность ужасна, и система борется с выполнением даже основных задач.
Вы уже знаете, что проблема не связана с аппаратным обеспечением, поскольку для открытия Проводника файлов не требуется 8 ГБ ОЗУ. Но что случилось? Ну, вы только что столкнулись с самым большим врагом в памяти компьютера – утечка памяти.
Вот некоторые из наиболее распространенных примеров утечек памяти в операционных системах Windows:
- Утечка памяти в Java . Приложения, использующие Java, более подвержены утечкам памяти. Таким образом, есть большая вероятность, что Java-зависимое приложение замедляет работу вашего компьютера.
- Утечка памяти в Google Chrome . Несмотря на то, что Google Chrome является самым популярным браузером, он также известен как самая требовательная и ресурсоемкая программа для Windows.
- Утечка памяти в C . Приложения и программы, запрограммированные на языке C, иногда также подвержены утечкам памяти.
- Утечка памяти в Windows 10 . Несмотря на то, что Windows 10 является самой продвинутой операционной системой, утечки памяти все еще происходят довольно часто.
- Утечка памяти в Windows 7 . Люди, которые по-прежнему предпочитают Windows 7, также могут испытывать утечки памяти.
- Утечка памяти в Javascript . Если вы заметили, что во время работы в Интернете вы используете много памяти, есть вероятность утечек памяти, вызванных кодом Javascript какой-либо веб-страницы.
Содержание .
- Что такое утечки памяти
- Что такое оперативная память и как ее используют программы
- Как происходят утечки памяти в Windows
-
Как устранить утечки памяти
- Перезагрузите компьютер
- Инструмент диагностики памяти
-
Как предотвратить утечки памяти
- Проверить обновления драйверов
- Настройтесь на лучшую производительность
- Отключить программы, запускаемые при запуске
- Дефрагментация жестких дисков
- Взлом реестра
- Отключить брокер времени выполнения
- Отключить Superfetch
- Отключить Windows Tips and Tricks
- Удалить вредоносное ПО
- Нет утечки памяти, но система все еще работает медленно? Добавить больше оперативной памяти
Содержание
- Каковы утечки памяти в Windows
- Что такое оперативная память и как ее используют программы
- Как происходят утечки памяти в Windows?
- Как устранить утечки памяти в Windows 10
- Перезагрузка компьютера
- Инструмент диагностики памяти
- Как предотвратить утечки памяти в Windows
- Решение 1. Проверьте наличие обновлений драйверов.
- Решение 2 – Отрегулируйте для лучшей производительности
- Решение 3. Отключите программы, запущенные при запуске
- Решение 4 – дефрагментация жестких дисков
- Решение 5 – Взлом реестра
- Решение 6 – Отключить брокера времени выполнения
- Решение 7 – Отключить Superfetch
- Решение 8 – Отключить Windows Советы и хитрости
- Решение 9 – Удалить вредоносные программы
- Нет утечки памяти, но система все еще работает медленно? Добавить больше оперативной памяти
Каковы утечки памяти в Windows
Чтобы понять, как решить проблемы утечки памяти в Windows, сначала нам нужно знать, что именно происходит утечка памяти. Утечка памяти означает потерю памяти в Windows, вызванную программой или приложением. И когда определенное приложение занимает больше памяти, чем обычно, система работает медленно, даже не отвечает, и пользователи не могут выполнять даже самые простые задачи в Windows.
Проблема полностью связана с программным обеспечением, поэтому, если вы заметили утечку памяти, вам не нужно беспокоиться о физическом повреждении вашей оперативной памяти. Это означает, что утечки памяти часто носят временный характер, и существуют различные способы их устранения. Но об этом мы поговорим позже в этой статье.
Каждый запущенный процесс в Windows занимает определенное количество или ОЗУ. Есть программы, которые более требовательны и требуют более интенсивного использования ОЗУ для правильной работы, например, Google Chrome или Adobe Photoshop, и есть менее требовательные программы, которые на самом деле занимают меньшие, даже незаметные объемы памяти. Итак, когда программа занимает больше памяти, чем должна, мы называем это утечкой памяти.
Чтобы определить, какой процесс использует наибольшее количество памяти, мы используем встроенный в Windows инструмент под названием «Диспетчер задач». Чтобы открыть диспетчер задач, нажмите клавиши CTRL + SHIFT + ESC на клавиатуре или щелкните правой кнопкой мыши панель задач и выберите «Диспетчер задач» в контекстном меню.
Когда откроется диспетчер задач, перейдите на вкладку «Процессы», и вы увидите, сколько памяти использует каждая программа или процесс. Иногда ответ очевиден, например, если Sticky Notes использует 70% вашей памяти, у нас есть утечка памяти. Но иногда не так просто определить, какая программа на самом деле утечка памяти.
Чтобы убедиться, что мы можем распознать утечку памяти в любой ситуации, нам нужно лучше понять, что такое оперативная память и как ее используют разные программы.
Что такое оперативная память и как ее используют программы
RAM (Random Access Memory) – это относительно небольшой объем памяти, в котором хранятся данные запущенных процессов. Каждая программа на вашем компьютере имеет легкий доступ к оперативной памяти, поскольку она хранит все свои данные там. Программы хранят данные в оперативной памяти временно, фактически только во время работы. Поэтому, когда вы перезагружаете компьютер, ОЗУ освобождается.
Как только определенная программа открывается, она «запрашивает» определенный объем памяти из ОЗУ, и память автоматически выделяется для этой программы. Как только программа закрывается, объем памяти, который она первоначально использовала, немедленно «возвращается» в ОЗУ.
Каждая программа хранит свою информацию о работе в оперативной памяти. Поскольку программы отличаются, более требовательные и программы, которые на самом деле выполняют более сложные действия, хранят больше данных в ОЗУ и, следовательно, требуют больше памяти. Хотя, конечно, более простые программы используют меньше памяти.
Короче говоря, вот полный процесс (упрощенно): вы открываете программу, она забирает определенный объем памяти из ОЗУ, сохраняет в ней свои данные во время работы и, как только вы закрываете программу, она «возвращает» эту сумму памяти в ОЗУ.
Это идеальный сценарий. Но что, если этот процесс не выполняется правильно? Ну, вот где появляются утечки памяти.
Как происходят утечки памяти в Windows?
Утечки памяти происходят, когда программа запрашивает больше памяти, чем ей действительно нужно. В этом случае программа использует только ту память, которая ей действительно необходима, а оставшаяся нераспределенная память просто «сидит» там, ни используемая программой, которая запросила ее, либо доступная для других программ, которые действительно нуждаются в ней.
Когда программа, подверженная утечке памяти, закрыта, она не возвращает изначально выделенную память. Таким образом, другим процессам доступно меньше памяти, и если они не могут использовать необходимую память, происходит снижение производительности системы.
Есть много причин утечки памяти, но наиболее распространенной является недосмотр программирования. Итак, мы наконец дойдем до сути и покажем, как решить проблемы утечки памяти в Windows 10, но также и предотвратить их повторение.
Как устранить утечки памяти в Windows 10
Перезагрузка компьютера
Как мы упоминали выше, диспетчер задач Windows 10, вероятно, является лучшим способом обнаружения утечек памяти и их устранения. С помощью диспетчера задач мы собираемся проверить, использует ли программа больше памяти, чем следует, и сразу же закрыть ее.
Если вы не знаете, как использовать диспетчер задач в Windows 10, следуйте этим инструкциям:
- Нажмите клавиши CTRL + SHIFT + ESC на клавиатуре или щелкните правой кнопкой мыши панель задач и выберите «Диспетчер задач» в меню конкурса.
- Перейдите на вкладку «Процессы» и посмотрите, какая программа использует больше всего памяти.
-
Просто нажмите Завершить процесс, чтобы закрыть эту программу
Программа закрыта, но проблема еще не решена. Мы сказали вам, что объем памяти, первоначально запрашиваемый этой программой, по-прежнему недоступен для других процессов. Что ж, лучшее решение для этого – просто перезагрузить компьютер, и утечка памяти не появится, пока вы не откроете проблемную программу в следующий раз.
ОЗУ хранит только данные запущенных процессов, пока компьютер выключен. Поэтому при перезагрузке компьютера ОЗУ будет пусто, а проблема утечки памяти исчезнет. Именно поэтому перезагрузка, вероятно, является наиболее эффективным решением для утечек памяти в Windows.
Инструмент диагностики памяти
Если вам нужен более глубокий анализ проблемы, недостаточно использовать только диспетчер задач. Возможно, лучший способ получить представление о памяти вашей системы и программах, использующих ее, – запустить инструмент диагностики памяти. Этот тип инструментов сканирует ваш компьютер на наличие потенциальных проблем с памятью, включая утечки памяти, и дает вам точную диагностику обо всех обнаруженных проблемах.
Windows 10 имеет собственный встроенный инструмент диагностики памяти, которого часто достаточно для точного анализа. Этот инструмент автоматически запускается системой, но вы также можете запустить его самостоятельно, если считаете, что это может быть проблемой. Чтобы открыть средство диагностики памяти в Windows 10, выполните следующие действия.
- Перейти к поиску, введите инструмент диагностики памяти и откройте инструмент диагностики памяти
-
Если вы хотите, чтобы инструмент запускался немедленно, выберите «Перезагрузить сейчас» и проверьте наличие проблем. Но имейте в виду, что ваш компьютер будет немедленно перезагружен, поэтому не забудьте сохранить свою работу.
После запуска средства диагностики памяти вы можете выполнить простое сканирование или перейти к дополнительным параметрам. Для обычных пользователей достаточно выполнить простое сканирование, но эти расширенные могут быть интересны при проверке расширенных параметров.
Дополнительные параметры: Тестовый набор (выберите тип теста, который вы хотите запустить: базовый, стандартный или расширенный. Варианты описаны в инструменте), Кэш (выберите настройку кэша, которую вы хотите для каждого теста: По умолчанию, Вкл или Off) и Pass count (введите количество раз, которое вы хотите повторить тест). Когда вы будете готовы, просто нажмите F10, чтобы начать тестирование.
Есть еще один полезный встроенный инструмент Windows 10, который поможет вам определить причину вашей проблемы. Этот инструмент называется Resource Monitor, и он позволяет вам просматривать данные о вашей системе в режиме реального времени. В предыдущих версиях Windows вам приходилось запускать этот инструмент через диспетчер задач, но в Windows 10 он доступен как отдельный инструмент.
Теперь, когда мы знаем, как решить проблему утечки памяти, вы можете подумать, что мы закончили. Но мы еще не закончили, потому что утечка памяти, скорее всего, произойдет снова, как только вы запустите программу в следующий раз. Итак, какой смысл решать проблему только временно, если она будет появляться снова и снова.
Итак, мы подготовили широкий спектр решений, которые помогут вам предотвратить повторные утечки памяти. Там могут быть различные факторы, и мы собираемся рассмотреть большинство из них.
Как предотвратить утечки памяти в Windows
Решение 1. Проверьте наличие обновлений драйверов.
Устаревшие драйверы могут быть причиной различных проблем в Windows 10, в том числе утечки памяти. Хотя устаревший драйвер не обязательно должен влиять на какую-либо программу и, следовательно, вызывать утечку памяти, он сам может использовать больше памяти, чем должен.
Таким образом, наиболее очевидным решением в этом случае является обновление драйверов. Существует несколько способов обновления драйверов в Windows 10. Наиболее популярный способ – через диспетчер устройств. Если вы не знаете, как обновить драйверы в диспетчере устройств, выполните следующие действия:
- Перейдите в Поиск, введите devicemng и откройте Диспетчер устройств.
- Теперь, если вы знаете, какой драйвер вызывает проблему, вам следует обновить этот драйвер. Если нет, посмотрите, есть ли рядом с ним какой-либо водитель с желтым восклицательным знаком.
-
Если вы нашли драйвер, подлежащий обновлению, щелкните его правой кнопкой мыши и выберите «Обновить программное обеспечение драйвера»…
- Следуйте инструкциям на экране мастера, и драйвер будет установлен на вашем компьютере, если он доступен
Но, если вы не знаете, какой именно драйвер должен быть обновлен, проверка каждого драйвера в отдельности – это слишком много работы. Итак, вам следует попробовать другой способ обновления драйверов в Windows 10.
Мы настоятельно рекомендуем использовать инструмент TweakBit Driver Updater (одобрен Microsoft и Norton), чтобы сделать это автоматически. Вот краткое руководство для этого.
-
-
Загрузите и установите средство обновления драйверов TweakBit
-
После установки программа начнет сканирование вашего компьютера на наличие устаревших драйверов автоматически. Driver Updater проверит установленные вами версии драйверов по своей облачной базе данных последних версий и порекомендует правильные обновления. Все, что вам нужно сделать, это дождаться завершения сканирования.
-
По завершении сканирования вы получите отчет обо всех проблемных драйверах, найденных на вашем ПК. Просмотрите список и посмотрите, хотите ли вы обновить каждый драйвер по отдельности или все сразу. Чтобы обновить один драйвер за раз, нажмите ссылку «Обновить драйвер» рядом с именем драйвера. Или просто нажмите кнопку «Обновить все» внизу, чтобы автоматически установить все рекомендуемые обновления.
Примечание. Некоторые драйверы необходимо установить в несколько этапов, поэтому вам придется нажмите кнопку «Обновить» несколько раз, пока все его компоненты не будут установлены.
-
Загрузите и установите средство обновления драйверов TweakBit
Отказ от ответственности : некоторые функции этого инструмента не являются бесплатными.
Решение 2 – Отрегулируйте для лучшей производительности
Иногда, настройка лучшей производительности для вашего компьютера с Windows 10 может помочь устранить утечку памяти. Поскольку этот параметр предназначен для планирования процессора и использования памяти, он может напрямую влиять на утечки памяти, а также на общую производительность системы.
Чтобы настроить ваш компьютер с Windows 10 для получения наилучших доступных настроек с помощью Windows Advanced Tool, выполните следующие действия:
- Щелкните правой кнопкой мыши этот ПК на рабочем столе или в проводнике.
- На левой панели выберите «Дополнительные параметры системы».
- Теперь перейдите на вкладку «Дополнительно»
- Нажмите на Настройки, под Производительностью
-
Просто отметьте опцию Adjust для лучшей производительности
- Нажмите ОК
Вот и все, теперь просто перезагрузите компьютер и посмотрите, действительно ли регулирование производительности системы решило проблему с утечкой памяти. Если нет, попробуйте некоторые из дополнительных решений, перечисленных ниже.
Решение 3. Отключите программы, запущенные при запуске
Если программа, вызывающая утечку памяти, запускается при запуске, это смертельная комбинация. Вы просто окажетесь в цикле, где проблема автоматически появляется вновь, независимо от того, сколько раз вы ее временно решали.Чтобы решить эту проблему, нам просто нужно отключить проблемную программу при запуске, и это больше не вызовет у нас проблем автоматически.
Если диспетчер задач уже показал вам, какая программа выполняет утечку памяти, а также случается, что программа запускается при запуске, просто отключите ее, и это должно быть. Если вы не знаете, как управлять программами, которые запускаются при запуске в Windows 10, следуйте этим инструкциям:
- Откройте диспетчер задач
- Перейти на вкладку «Автозагрузка»
-
Теперь просто нажмите на программу, которую вы хотите отключить, и выберите Отключить
Итак, в следующий раз, когда вы перезагрузите компьютер, проблемная программа не запустится автоматически. Это, наверное, самый простой способ отключить запуск программ. Однако существует множество сторонних приложений, таких как CCleaner, которые делают то же самое, поэтому вы выбираете то, что вам больше подходит.
Если вы не знаете, какая именно программа является причиной проблемы, попробуйте отключить все программы, которые не требуются для нормальной работы Windows 10. Если вы все еще сталкиваетесь с проблемой утечки памяти в Windows 10, продолжайте читать эту статью.
Решение 4 – дефрагментация жестких дисков
Рекомендуется время от времени дефрагментировать ваш жесткий диск. Помимо оптимизации жесткого диска, он также может принести некоторые дополнительные преимущества для вашего компьютера, включая лучшее управление памятью. Если вы не знаете, как дефрагментировать ваш жесткий диск в Windows 10, следуйте этим инструкциям:
- Перейти на этот компьютер
- Щелкните правой кнопкой мыши свой текущий системный жесткий диск (скорее всего, C 🙂
- Перейдите на вкладку «Инструменты» и нажмите «Оптимизировать».
-
Выберите диск, который вы хотите дефрагментировать, и выберите Анализ
- Дождитесь окончания процесса
После того, как ваш диск только что фрагментирован, перезагрузите компьютер и проверьте, не происходит ли утечка памяти.
Средство дефрагментации в Windows 10 предлагает лишь некоторые основные опции. Если вам нужно больше возможностей, вы, возможно, захотите попробовать какой-нибудь сторонний инструмент дефрагментации. Проверьте эту статью для некоторых идей.
Если этот обходной путь не помог, перейдите к следующему решению.
Решение 5 – Взлом реестра
Если ни одному из предыдущих решений не удалось предотвратить утечки памяти на вашем компьютере, попробуйте взломать выход из этой ошибки, выполнив одну настройку реестра. Вот именно то, что вам нужно сделать:
- Перейти к поиску, введите regedit и перейдите в редактор реестра
- Перейдите по следующему пути: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
- Найдите ClearPageFileAtShutDown и измените его значение на 1.
- Сохранить изменения
- Перезагрузите компьютер.
Если ситуация все та же, вы знаете процедуру. Попробуйте некоторые решения, перечисленные ниже.
Решение 6 – Отключить брокера времени выполнения
Многие пользователи предполагают, что процесс в Windows, называемый Runtime Broker, на самом деле потребляет огромные объемы памяти. Runtime Broker – это процесс, который помогает системе управлять разрешениями на вашем ПК для приложений из Магазина Windows. По умолчанию Runtiem Broker должен использовать небольшое количество памяти, но из-за возможного неисправного приложения этот процесс может значительно замедлить работу компьютера.
Чтобы проверить, так ли это с вами, вы должны отключить этот процесс и посмотреть, есть ли заметная разница.
Если вы не знаете, как отключить процессы в Windows 10, выполните следующие действия:
- Откройте диспетчер задач
- Найдите процесс Runtime Broker и щелкните по нему
-
Перейти к Отключить
Итак, Runtime Broker теперь отключен, поэтому, если это было причиной утечки памяти, теперь она решена.
Процессы в Windows сложны. Хотя система не может нормально функционировать без некоторых из них, некоторые процессы на самом деле могут нанести вред пользователям. Причинение утечек памяти – только один из примеров.
Если отключение Runtime Broker не помогло, попробуйте удачу с другим процессом Windows 10, который может вызвать проблемы. Найти более подробную информацию ниже.
Решение 7 – Отключить Superfetch
Superfetch – это еще одна служба Windows, целью которой является оптимизация производительности системы. Этот процесс позволяет Windows управлять объемом оперативной памяти, сокращать время загрузки и повышать эффективность загрузки приложений.
Однако это может иметь некоторые негативные последствия для системы, вызывая медленную работу. Особенно низкие показатели были замечены во время игр.
Отключать Superfetch не рекомендуется, но вы можете поэкспериментировать с ним, если хотите определить, действительно ли он замедляет работу вашего компьютера. Итак, если вы хотите отключить процесс Superfetch в Windows, следуйте этим инструкциям:
- Перейти к поиску, введите услуги.мск, и открыть сервисы
- Теперь найдите процесс под названием Superfetch
- Щелкните правой кнопкой мыши и выберите «Свойства».
-
Выберите «Стоп», чтобы остановить службу, и выберите «Отключить» в раскрывающемся меню «Тип запуска».
- Перезагрузите компьютер
Итак, процесс Superfetch теперь отключен. После отключения сравните производительность вашего компьютера до и после. Если система все еще работает медленно, как и раньше, вы можете снова включить Superfetch.
Решение 8 – Отключить Windows Советы и хитрости
Windows 10 Советы и рекомендации действительно полезны для новых пользователей. Эта функция показывает им, как использовать систему, а также некоторые дополнительные полезные опции. Тем не менее, это довольно раздражает для большинства пользователей, которым не нужны советы о том, как использовать Windows 10.
Но помимо того, что это раздражает, эта функция также может занимать много памяти, что является еще одним недостатком. Если вам «повезло» достаточно, чтобы иметь проблемы с производительностью, вызванные этой функцией, мы уверены, что вы более чем рады ее отключить.
На случай, если вы не знаете, как отключить Windows 10 Tips and Tricks, следуйте этим инструкциям:
- Перейдите в меню «Пуск»> приложение «Настройки»
- Перейдите в Система> Уведомления и действия
-
При использовании Windows найдите Получить советы, рекомендации и подсказки и снимите флажок
Вот и все. После отключения этой функции раздражающие всплывающие окна в Центре поддержки больше не будут отображаться, и вы также освободите немного оперативной памяти в пути.
Решение 9 – Удалить вредоносные программы
Как и устаревшие драйверы, вредоносные программы и другие виды вредоносных программ являются причиной многих известных проблем в Windows, и утечки памяти не являются исключением. Таким образом, если ваш компьютер заражен вредоносным программным обеспечением, он почти наверняка не будет работать хорошо (в зависимости от типа вредоносного программного обеспечения).
Таким образом, единственная логическая вещь, которую нужно сделать в этом случае, – это на самом деле очистить наши компьютеры от этих нежелательных гостей. Итак, если у вас есть стороннее средство безопасности, просто запустите его и посмотрите, не обнаружено ли на вашем компьютере какое-либо вредоносное программное обеспечение.
Даже если у вас нет сторонней антивирусной программы, вы также можете неплохо справиться с защитником Windows 10 от Windows 10. Просто Защитник Windows для анализа, и вам должно быть хорошо.
Говоря о сторонних антивирусных программах, даже они могут привести к снижению производительности на компьютере с Windows. Это особенно происходит, если на вашем компьютере установлено более одной антивирусной программы сторонних производителей или ваша текущая антивирусная программа не полностью поддерживает Windows 10.
Поэтому попробуйте отключить или полностью удалить антивирусное программное обеспечение и посмотреть, улучшится ли производительность. Если ваша система действительно работает лучше без антивирусной программы, рассмотрите возможность приобретения нового средства безопасности или перехода на собственный вариант Windows 10, Защитник Windows.
Нет утечки памяти, но система все еще работает медленно? Добавить больше оперативной памяти
Мы в конце нашей статьи о утечках памяти в Windows 10. Мы попытались охватить все основные сценарии, где утечки памяти происходят в Windows. Если вы недавно столкнулись с этой проблемой на своем компьютере, перепробовали все наши решения, и ваш компьютер все еще работает медленно, возможно, проблема заключается в фактическом объеме оперативной памяти на вашем компьютере.
Если у вас недостаточно оперативной памяти на компьютере, чтобы удовлетворить все требования, вы столкнетесь с большими проблемами времени. Сама Windows 10 не так требовательна, и ни одно серьезное обновление не внесло существенных изменений в список системных требований. Но это не означает, что системные требования не будут «развиваться» с течением времени.
Вы можете проверить системные требования Windows 10 здесь. Если ваши данные не соответствуют минимальным требованиям, у вас будут проблемы с использованием ОС. Итак, лучшее доступное решение, если вы хотите, чтобы ваш компьютер работал нормально, – это обновить оперативную память на вашем компьютере. Добавив больше оперативной памяти, ваша системная память будет больше, и она сможет обрабатывать даже более сложные операции.
Это касается нашей статьи об утечках памяти в Windows 10. Мы надеемся, что эта информация была полезна для вас, и что нам удалось решить эту проблему. Если у вас есть какие-либо комментарии, вопросы или предложения, не стесняйтесь сообщить нам в комментариях.
Примечание редактора . Этот пост был первоначально опубликован в октябре 2016 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.
Компьютеры и серверы под управлением Windows нередко страдают от утечки памяти, вызванной конкретным драйвером, который пытается сохранить свои данные в невыгружаемом пуле памяти. Невыгружаемая память используется именно ядром системы и драйверами. На диск та не выносится (речь о pagefile.sys) — не может, не имеет права — и хранится в физической памяти (грубо говоря, в самих планках RAM). На размер памяти пула можно взглянуть во вкладке Производительность Диспетчера устройств:
примерно так выглядит невыгружаемый пул «здорового» юзера
По опыту (своему и чужому), та редко превышает планку 400—500 Мб (системе больше не нужно), хотя по «паспорту» она просто не должна превышать 75% от объёма физической памяти. И превышение этого порога сигнализирует о проблемах с утечками в системных компонентах. Проблема решается временно простой перезагрузкой Windows, что на серверах, например, не особо поощряется. Там чаще всего причиной являются проблемы с драйверами, установленными к сетевым картам со стороны. На основании того же опыта есть готовые варианты решений и более тернистые, где нужно, к сожалению для многих, думать. В таком порядке и пойдём.
Отключаем службу проверки сетевой активности NDU.
Наиболее частая причина. Видится в несовместимости драйверов сетевых карт с драйвером мониторинга сетевой активности. MSI карты конфликтуют с ним почти всегда. Выключение же службы на Windows никак не проявляется. Так что заряжаем консоль команд от имени администратора и вводим
sc config NDU start= disabled
Тот же смысл, но через редактор реестра. Открываем его командой regedit и ищем ключ
HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesNdu
сменим значение Start с 2 на 4.
Windows нужно перезагрузить.
Обновление сетевого драйвера к собственной сетевой карте.
Если стоит карта стороннего производителя, проверьте напрямую на сайте, минуя программы-«обновлялки». Вполне вероятно, придётся установить предыдущую версию и подождать некоторое время. Так, ПО от Killer Suite также постоянно конфликтует с сетевыми настройками и службами Windows. Утечки памяти через невыгружаемый пул прекратились? Делайте выводы: нужно отключать автообновление драйверов из Windows.
ПРИПИСКА
На одном из серверов под управлением Windows Server 2012 R2 постоянно подвисало ПО; отключение Hyper-V не помогало, драйвера были обновлены, расшаривание виртуальных дисков отключили. После продолжительного расследования обнаружилось, что один из роутеров некорректно пропускал IP. На фоне получившегося конфликта имён на сервере постоянно висели утечки памяти через невыгружаемый пул.
Безопасный режим.
В таком деле и не попробовать дать поработать Windows «без всего»? Кроме шуток, один из пользователей божился, что стоило ему дать системе поработать немного в Безопасном режиме, как после очередной перезагрузки никаких утечек он больше не видел. Больше похоже на чудо, но попробуйте).
Настраиваем невыгружаемый пул сами.
Сейчас полезем в реестр. Сделайте копию.
В системе многое поддаётся настройкам вручную. В том числе и пороги выделяемых и контролируемых значений памяти. Под всё буквально. Системе разрешено регулировать выделяемую память автоматически. Это подразумевает диапазон от 1 Мб до 512 Мб. За это отвечает параметр NonPagedPoolSize в ключе
КомпьютерHKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerMemory Management
А мы выставим границу вручную, выставив что-то среднее: 192 или 256. Не забываем, что мы говорим об абсолютных значениях, так что меры измерения при изменении параметра выставляем десятичными
Редактор не закрываем. Переносимся в ключ
КомпьютерHKEY_LOCAL_MACHINESYSTEMControlSet001ServicesNull
Отключим автозапуск управления памятью, сменив значение на 4:
перезагружаемся и проверяем.
Утечки памяти через невыгружаемый пул идут через другие драйверы.
Вполне себе вероятно. То там, то сям причиной были именно драйверы, не попадавшие «под юрисдикцию» самой Windows. То есть именно те драйвера, к которым система доступа в этом смысле не имела: принтеры, антивирусы, те же сетевые карты. Никакое и ничьё ПО не идеально. Так, последним на моей памяти был klips.sys от Касперского, после обновления которого у человека всё встало на свои места. А вот тут проблема, решённая переустановкой антивируса Bitdefender на обновленную версию. Немалое количество пользователей жалуется на ПО от китайской Razer Cortex Software, производящей компьютерное оборудование всех мастей: от клавиатуры и гарнитур до конечных сборок десктопов и ноутбуков (то бишь лэптопов). Стоило лишь завершить в Диспетчере задач процесс RzKLService.exe, как утечки памяти через невыгружаемый пул моментально прекращались. Так что порой пользователю для решения проблемы было достаточно последовательно отключать сторонние процессы прямо в Диспетчере задач, чтобы выявить виновника.
Для процессов можно настроить отображение невыгружаемого пула из Диспетчера задач
Утечки памяти через невыгружаемый пул: ищем драйвера.
Пришло время поработать вручную, и придётся потратить время. Для поиска могу предложить два варианта развития событий. Можно выполнять их последовательно и раздельно. Готового решения уже нет, здесь только инструменты.
Windows Driver Verifier или Диспетчера проверки драйверов
Незаслуженно забытая, но мощная утилита проверки установленных драйверов на предмет повреждения. Это в общих чертах. Однако, первое, с чем я успел в своё время познакомиться, работая с Диспетчером проверки, она при неверных движениях и настройках легко может вас «отключить» от системы. Так что начните с создания точки восстановления и проверки работоспособности самой функции. Я вас предупредил. Про утечки в памяти она ничего не скажет, но покоцанный драйвер найдёт.
- заряжаем консоль cmd от имени администратора и вводим команду
verifier
- откроется окно «проверяльщика». Активируем второй пункт Создать нестандартные параметры. Выбираем все тесты, кроме Дополнительной проверки соответствия требованиям DDI и Эмуляции систематической нехватки ресурсов. Жмём далее, ничего не трогая в следующем окне. В следующем за ним выбираем нижний пункт с выбором из списка. Последующее же окно выведет этот самый список. Не уверены какой? Придётся установить флажки подле каждого. Советую, однако, пропустить те из них, чьим вендором является Microsoft. Хотя бы на первый раз.
…но драйверы от Microsoft на первый раз можно пропустить
- На секунду отвлечёмся от Диспетчера. Сейчас я настоятельно советую вам проверить настройку поведения Windows при появлении критической ошибки. По умолчанию та заставляет Windows перезагрузится при первой опасности. Нам сейчас это не нужно. Открываем редактор реестра
regedit
и ищем ключ HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCrashControl. Параметр AutoReboot переводим в 0. Редактор реестра больше не нужен.
- Вернёмся к Диспетчеру проверки драйверов. ВНИМАНИЕ. После нажатия по кнопке Готово система перезагрузится. После перезагрузки Windows будет работать как и прежде. Но с важными данными работать не рекомендую: если появится ошибка или система упадёт в BSOD, зафиксируйте ошибку и причину. Так будет легче проводить дальнейшее расследование.
- Проверку можно завершить в любой момент. В той же строке cmd от имени администратора наберите
verifier /bootmode resetonbootfail
и перезагрузите компьютер.
Ищем утечки памяти через невыгружаемый пул с помощью PoolMonX.exe.
Проблему с утечкой в части невыгружаемого пула можно попробовать выцепить с помощью консольной утилиты Poolmon.exe, что входит в состав Windows Driver Kit (WDK). Самый, действенный, но тяжёлый вариант попытки решить вопрос. Сам набор WDK полностью качать неохота, есть альтернатива в виде программы Kernel Pool MonitorX. Это урезанный вариант «мелко-мягкой» PoolMon, но иногда его достаточно. Вам потребуется архив с программой и терпение. Кроме того, для дальнейшего анализа придётся обратиться к другой консольной утилите от Sysinternals под названием Sigcheck. Обе легко найти в сети, я предлагаю архив с обеими.
Скачать архив с утилитами PoolMonX и Sigcheck
Если вы впервые используете такие программы, следуйте моему простому шаблону. Запускаем утилиту от имени администратора в тот момент, когда вы обнаруживаете утечку. Сразу щёлкам дважды по столбцу Bytes:
Здесь показаны данные, которые Windows собирает о выгружаемых страницах памяти со стороны драйверов, которым присвоен определённый тег. Крайний левый — и есть список тегов драйверов. Красным подсвечивается строка с драйвером, требующим наибольшее внимание от невыгружаемого пула. Рядом столбец, в котором указан характер обращения — Paged или Non Paged (последний-то нам и нужен). Осталось наблюдать. По идее, одномоментные значения мало что значат. В идеале — записать поведение драйверов за некий промежуток времени. Интенсивное движение у меня наблюдается вокруг драйверов с тегами File, Thre, MmCa. Заряжаем Power Shell, который быстро найдёт связанные с этими тегами драйверы в их настоящем обличии. Ввожу команды перехода в базу драйверов моей системы и отображение списка с драйверами из консоли Power Shell на манер:
Set-Location "C:WindowsSystem32drivers"
Select-String -Path *.sys -Pattern "MmCa" -CaseSensitive | Select-Object FileName -Unique
Перед нами список потенциально проблемных драйверов. Да, для некоторых из тегов он может быть бесконечен. В пору запустить вторую утилиту, пробивая каждый из драйверов последовательно, сверяя сигнатуры. Эта процедура отдалённо чем-то напоминает sfc.exe при проверке целостности системных файлов:
sigcheck C:WindowsSystem32driversrefs.sys
ПРИПИСКА
Упомянутый выше процесс RzKLService.exe на одном из компьютеров вообще себя никак не проявлял. PoolMonX его красным не выделяла, за растрачиванием ресурсов он замечен не был. Однако стоило завершить процесс RzKLService.exe в Диспетчере, как утечки мгновенно прекращались.
В любом случае, проблемный драйвер может себя проявить. Желаю успехов.