Если оперативная память перегружена…

планки оперативной памяти

Если оперативная память перегружена, но система работает.

Ваша операционная система потребляет большое количество памяти? И оперативная память перегружена из сессии в сессию. Не стоит паниковать. Как это не кажется парадоксальным, особенно для тех, кто страдал на стареньких компьютерах от недостатка RAM, состояние, при котором оперативная память перегружена , порой абсолютно нормально. “Недозагруженная” память – лишь трата этой самой памяти.

Разводим причины и проблемы по сторонам

Но для начала уточним ситуацию. Если оперативная память перегружена – это иногда плохой признак. Если память заполнена, а компьютер при этом начинает тормозить, индикатор загрузки жёсткого диска непрерывно помигивает, и система начинает заполнять оперативными данными файл подкачки на винчестере. Если это происходит, вывод один: запущено множество приложений, которые потребляют слишком большое количество ресурсов Windows, или в системе висит работающий против вас процесс. О характере этих приложений можно судить по Диспетчеру задач, в котором описываются все программы, работающие в данный момент. Это могут задачи, запущенные вами, или вирусы. Нередко программы способны маскироваться даже от Диспетчера, так что, если оперативная память перегружена «ни с того ни с сего», стоит призадуматься о смене антивируса или пришло время добавить антималварь. Но первое, с чего бы начал я, это проверка RAM утилитой memtest.

И опять же, ситуация ситуации рознь. Если вы замечаете, что память начинается заполняться под завязку именно при подключении к сети или при попытке что-нибудь скачать (а Диспетчер от Windows молчит, как партизан), стоит припомнить, не устанавливалось ли некое программное обеспечение или специальные драйверы для усиления загрузки. В любом случае, проверьте-ка сетевые драйверы. А самый простой способ проверить, не работает ли против вас какое-то конкретное устройство – это Безопасный режим без сетевых драйверов.

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

rammap

Работа с утилитой – тема отдельной статьи, а в пределах данной… переходите сразу на вкладку File summary: она уже сейчас может многое прояснить, ибо именно там даётся список не просто абстрактных программ и служб, а ПОИМЁННЫЙ СПИСОК файлов, которые КОНКРЕТНО прямо сейчас кушают вашу RAM. Откровенно говоря, это утилита из числа немногих, которая действительно может помочь выцепить виновника проблем с оперативной памятью не в виде “да это Хром много жрёт!”, а покажет конкретный документ на жёстком диске, который в числе остальных в запущенной службе виновник ситуации.

ПОПРАВКА

В этой статье я рассматриваю не специальные случаи, когда оперативная память перегружена так, что система просто останавливается и работать с ней становится невозможно. Причём неважно, какой объём RAM установлен на компьютере: 4 Гб или 16 Гб – память заполняется полностью почти сразу после запуска системы. В этом случае:

  • Если ваш компьютер особенно тормозит при выходе в интернет, прочтите статью Почему медленно работает интернет. Там рассмотрим на примере, как выявить причину таких тормозов.
  • Диспетчер задач показывает, что систему тормозит какой-то из конкретных процессов, однако без видимых для пользователя причин. Прочтите статью Windows Explorer грузит оперативную память
  • Оперативная память полностью занята, система останавливается, однако Диспетчер задач не может указать на причину: визуально все процессы потребляют некритический объём памяти. Это вирус или малварь, которые “редактируют”сетевые драйвера. Копайте в эту сторону.

Так что следует развести по углам ситуацию с полной загрузкой RAM в результате действий зловредных программ или битых драйверов и неисправностью связки “RAM-слот-vатеринка” и вариантом, когда на самом деле всё работает корректно, открыты всего несколько программ, а признаков замедления работы компьютера не наблюдается, однако оперативная память перегружена всё равно.

Одни из способов выяснить причину или попытаться докопаться до причин перегрузки RAM – создать в Windows ещё одну учётную запись с правами администратора. И сравните всё, что только можете сравнить: запущенные процессы и службы в Диспетчере задач, сведения из Мониторинга системы, папки Автозагрузки и Конфигурацию системы из msconfig. Если проблема есть – она может проявиться.

Кэширование

Те, кто застал Windows XP, хорошо помнят, как свежеустановленная Windows потребляла 150-250 Мбайт оперативной памяти. Для владельцев Windows 7 и позднее ситуация в корне изменилась. Она по умолчанию потребляет не менее 1,3 Гбайт RAM. Отсюда многие из пользователей в своё сделали неправильные выводы о преимуществах предшествующей системы перед Windows 7. Оперативная память для современной системы используется гораздо более выгоднее, нежели в те времена, когда на свет появилась бессмертная Windows XP. Теперь это кэш для часто используемых файлов и данных программ. Именно на плечи кэша RAM и ложится обязанность хранить в себе копию файлов, к которым вы недавно обращались (если система будет лезть за этими данными на жёсткий диск постоянно, она остановится через мгновения после запуска).

Таким образом, впервые в Windows Vista появилась технология SuperFetch (супер выборка). SuperFetch — это внутренний сервис, который запускается внутри системного процесса svchost. Технология SuperFetch позволяет определять наиболее часто используемые приложения пользователя, создавать их базу данных и всякий раз при запуске программы повторно выгружать данные в память готовыми блоками. В итоге программы загружаются быстрее. Постоянно обновляя список пользовательских предпочтений, SuperFetch прямо во время работы способна сама изменять скорость работы Windows, наблюдая за действиями пользователя.

МАЛЕНЬКАЯ ИНСТРУКЦИЯ ПО ДИАГНОСТИКЕ ПАМЯТИ

Сейчас я покажу на небольшом примере как можно использовать некоторые из встроенных и специальных программ в поиске пропавшей оперативной памяти в Windows.

  • Итак, что нужно знать про кэш и как его контролировать? Средствами Windows – почти никак. Однако, раз размер кэша RAM в данный момент легко проверить (его размер в текущем сеансе может кое-что рассказать), взглянем на него: в Диспетчере задач он во вкладке Производительность. Так, в Windows 10 он здесь:
кэш ram
пока ситуация нормальная, но через мгновения она начнёт изменяться

Главное, что вы должны сейчас уяснить: если на компьютере установлено 4 Гб RAM, она заполнена, а под кэш при этом выделено в районе 200 Мб, у вас серьёзные проблемы. Значит…

  • откройте вкладку Процессы Диспетчера и для удобства просмотра проранжируйте столбец с процессами по величине потребления RAM, и путём сложения величин прикиньте, действительно ли все процессы потребляют столько физической памяти, что упомянутых в примере 4 Гб не хватает? Обнаружили провал и половины недосчитались:
потребление памяти приложениями
даже навскидку – здесь и гигабайта RAM не наберётся
  • в том же Диспетчере нам нужен Монитор ресурсов. Здесь всё подробнее и некоторые несоответствия уже налицо (просто вырисовывается реальная картина того, как оперативная память в системе распределяется и куда сейчас используется):
монитор ресурсов против диспетчера задач
ситуация не требует вмешательства: наиболее потребляющие приложения видны как на ладони – это браузеры Хром и Edge
  • однако уже через несколько минут ситуация изменится и настаёт время RAMMap – становится теплее:
метафайл потребляет ram
многовато для “небольшой” части системного кэша

Кому интересно, но подзабыл: Метафайл – это часть системного кэша и состоит из метаданных NTFS. А это, в свою очередь, таблица MFT, имена папок, пути к ним и присвоенные атрибуты. Но что-то уже больно чересчур…

  • Вобщем, дальнейшие изыскания могут быть вам неинтересны. Журнал событий показал, что служба дефрагментации пыталась проанализировать все системные тома жёсткого диска по расписанию, но всякий раз натыкалась на ошибку в одном из них. К счастью, ситуация благополучно разрешилась коррекцией ошибок на диске и запуском службы дефрагментации вместе с MFT таблицей. Времени ушло много (вся ночь на 500 Гб раздела), но после перезагрузки на лице хозяина компьютера проступили слёзы радости: 1,2 Гб максимум загрузки RAM вместо 4 Гб до того. Для слабенькой системы прирост весомый.

Что ещё есть в арсенале по ускорению системы?

Разработчики Windows продолжают с заботой о пользователе нагружать систему набором функций, позволяющим реагировать на неполадки, не дожидаясь массовых отзывов. Для этого треть служб Windows имеет лишь диагностический характер, которые работают по принципу “запустилась-наблюдаю-заметила-сообщаю”. Стабильна система или нет – службы будут запущены. Процессор загружен, RAM забита. Кому хорошо-то? Нет, речь не о том, что пора останавливать все “ненужные” службы. Вопрос стоит в области “сочленения” устаревающего компьютера и впихуемой версии Windows. Вобщем, драйверы и ещё раз драйверы.

Кстати, из наиболее вероятных вариантов избавиться от одной из таких служб – остановка, например, службы мониторинга Network Diagnostic Usage (она же NDU). Что она там смотрит, знают только разрабы. Лично мне после её отключения немного полегчало и процентов 10 к объёму свободной RAM прибавилось:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ndu

параметр Start вывожу со значения 2 на 4:

как ускорить windows в части оперативной памяти

Повторюсь, таких служб в системе может быть немало, о чём будет свидетельствовать пункт NonpagedPool окна той же RAMMap. Или не может быть вовсе.

Далее по теме: переходим на Линукс? 

Ситуация, когда оперативная память перегружена, характерна не только для пользователей Windows. «Пингвинятники» – они же линуксоиды – они же пользователи Линукс-подобных систем – также отмечают возрастающие потребности системы в виде заполненной оперативной памяти, выражая по этому поводу обеспокоенность. Большинство программ отслеживания ресурсов системы, например, Gnome System Monitor, скрывают от пользователя память, используемую кэшем, чтобы те особо не переживали по этому вопросу.

программа мониторинга

Тоже относится к браузерам и другим программам, которые используют свой собственный кэш. Посмотрите в Диспетчер задач при запущенных Хроме или Мозилле. Обратите внимание, как загружается оперативная память. Если объём установленной RAM на компьютере велик, для Windows использование больших объёмов памяти даёт положительные результаты. Ведь кэшируя страницы в памяти, Windows может ускорить загрузку страниц, а значит и скорость работы в сети, в разы. Это заметно по работе с кнопками Вперёд и Назад при переходе по только что посещённым страницам. То же с другими программами. Использование оперативной памяти программами «на всю катушку» означает лишь то, что она не растрачивается попусту.

Пустая память бесполезна?

Мнение о том, что иметь много свободной оперативной памяти для ускорения запуска пока ещё не работающих программ, абсолютно ошибочно. Неважно, оперативная память перегружена кэшем запущенных программ или целые гигабайты простаивают в ожидании запуска – RAM компьютера готова к «приёму» новых приложений. Кэшируемые данные в памяти имеют самый низкий приоритет, потому выводимое на Рабочий стол приложение автоматически повышается системой в ранге, и вся нагрузка из RAM устремляется к ней. А простаивающая часть памяти просто бесполезна. Трижды подумайте о том, бежать ли за дополнительной «оперативкой» в магазин (благо можно купить недорого любые RAM-планки, в том числе и “отходящие” стандарты типа DDR3 или DDR2 очень надёжных брендов), наблюдая в Диспетчере Windows гигабайты загруженной RAM.

Извиняюсь, что много получилось. Дочитавшим до конца – успехов.