Оптимизация оперативной памяти

Оптимизация оперативной памяти.
Переполнение кэша оперативной памяти в Windows.

     Бурыкин Валерий Иванович
     Февраль 2025г.

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

Рис. 1
Рис. 1

     Многие начинают грешить на компьютер, но он здесь не причём. Причина кроется в операционной системе Windows.

     Если вы, как только начнутся подобные сбои в работе нажмёте сочетание клавиш Ctrl+Shift+Esc то откроется окно Диспетчера задач, Рис. 2.

Рис. 2
Рис. 2

     Здесь в заголовке колонки «Память» показывается процент заполнения памяти, чем он больше – тем хуже. При нормальной работе он не должен переваливать через 50% (зависит от объёма установленной памяти и тех программ с которыми вы работаете).
     Если перевалит через 80%, то это очень тревожный звонок. При заполнении более 90% ваша операционная система начнёт рушиться.

     Откроем закладку «Производительность» и нажмём слева «Память», Рис. 3.

Рис. 3
Рис. 3

     Здесь видим, что объём установленной памяти – 64ГБ, как видите не мало.
     Из них доступно для текущей работы всего 11,8ГБ.
     Всё остальное занято Кэшем – 50,3ГБ, т.е. забито всяким мусором.

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

     Меня умиляют советчики, которые на вопрос: «Что делать если память (кэш) быстро переполняется?», отвечают: «Да просто увеличь объём памяти». Совет глупый дальше некуда.
     Мало того, что на увеличение объёма памяти нужно потратить не хилые деньги, так это ещё не улучшит ситуацию. В приведённом выше примере память и так 64ГБ, а она заполнена почти под завязку.
     Да и зачастую добавить память просто невозможно так как мать рассчитана на тот объём, который уже есть.

     В интернете много предложений разных способов чистки оперативной памяти. Можете конечно с ними поэкспериментировать, но скажу сразу – никакого хорошего результата не получите.
     Есть к примеру утилиты, предназначенные для чистки (оптимизации) ОЗУ (оперативная память). Вот некоторые из них, с которыми я экспериментировал:
     PrimoCache — Результат сомнительный. Удалил
     Memory Cleaner — Результат нулевой. Удалил
     RAMMap v1.61 — Толку нет. Удалил
     Mz Ram Booster — Эффекта нет. Удалил
     Mem Reduct – Тоже самое. Удалил.

     С помощью этих утилит можно либо запускать одноразовую очистку нажатием на соответствующую кнопку. Либо установить периодическую очистку допустим с периодом 1 мин. Но вот в чём дело. За один сеанс очистки (оптимизации) эти утилиты чистят совсем небольшой объём памяти. Я не подсчитывал сколько, но допустим 100МБ. Но за этот же период Windows оставляет, к примеру, 200МБ мусора. Память всё равно довольно быстро заполняется.
     Единственный кардинальный способ очистить память – это перезагрузить компьютер. Но не будем же мы каждые полчаса осуществлять перезагрузку!!!

     Память нужно не чистить, нужно не допускать засорения её мусором.
     Или хотя бы замедлить засорение.

     Теперь расскажу о том какие меры по недопущению переполнения ОЗУ предпринимаю я. Здесь всё будет показано на примере Windows 10, всё должно быть справедливо и для Windows 11.

     Я столкнулся с этой проблемой на двух компьютерах.
     — В первом материнская плата ASUS PRIME H310M-K R2.0, ОЗУ – 32ГБ.
     — Во втором материнская плата Gigabyte B760M DDR4, ОЗУ – 64ГБ.

     Как видите в обоих случаях объём оперативной памяти довольно большой. Однако сбои в работе из-за переполнения кэша ОЗУ начинались уже через 0,5 – 1 час. Я работаю с программами довольно требовательными к ресурсам системы.
     Проведение мероприятий о которых расскажу далее позволило мне работать, не выключая и не перезагружая компьютер более 10 часов. Конечно это не значит, что я сам всё это время не прерываясь сидел за компьютером.

     И так. Что нужно сделать.

1. Отключаем кэширование дисков.

     При включенном кэшировании дисков Windows считывает с диска сразу большой блок данных и сохраняет его в ОЗУ. Дальше он извлекает необходимые данные уже не с диска, а из ОЗУ. Это должно ускорить обработку этих данных.
     Но дело в том, что жёсткий диск имеет внутренний Кэш и его вполне достаточно. На тех двух компьютерах отключение кэширования дисков никак не сказалось на производительности. Но зато значительно уменьшило засорение оперативной памяти.
     Для начала нам нужно попасть в Диспетчер устройств. Способов существует несколько, вот один из них.
     Кликаем ПКМ по значку «Этот компьютер».
     На Рабочем столе или в Проводнике нет разницы.
     Далее – Управление.

Рис. 4
Рис. 4

     Потом «Диспетчер устройств», Рис. 5.

Рис. 5
Рис. 5

     В следующем окне нас интересуют внутренние диски, в основном тот на котором стоит система. Кликнем по нему ПКМ и выберем «Свойства».

Рис. 6
Рис. 6

     В следующем окне нужно перейти на закладку «Политика» и снять галочку.

Рис. 7
Рис. 7

     Настройки вступят в силу после перезагрузки.

2. Задать размер файла подкачки.

     Файл подкачки – берёт на себя часть нагрузки на оперативную память.
     Теория говорит, что чем больше у вас объём ОЗУ, тем меньше нужен объём у файла подкачки. К примеру, при объёме ОЗУ в 64ГБ файл подкачки рекомендовано установить равным 4096 МБ.
     Только вот теория не всегда сходится с практикой.
     Когда я устанавливал файл подкачки размером 4096 МБ, оперативная память довольно быстро заполнялась. Когда сделал равным объёму ОЗУ заполнение значительно замедлилось.

     Как добраться до файла подкачки. Предложу такой способ:
     Кликаем ПКМ по «Этот компьютер» как на Рис. 4.
     В выпадающем списке выберем строку «Свойства».

     В следующем окне нажимаем «Дополнительные параметры системы», Рис. 8.

Рис. 8
Рис. 8

Рис. 9
Рис. 9

     В поле «Быстродействие» нажимаем «Параметры», Рис. 9.

Рис. 10
Рис. 10

     В следующем окне – закладка «Дополнительно» и нажать «Изменить», Рис.10.

Рис. 11
Рис. 11

     Снять галочку «Автоматически выбирать…». Активировать «Указать размер». Теперь можно установить исходный и максимальный размер файла подкачки, Рис. 11.
     Как я уже говорил, я установил файл подкачки равным объёму ОЗУ. Размер устанавливается в МБ. Вычислить размер довольно просто:
     — 16ГБ это — 2^14 = 16 384МБ.
     — 32ГБ это – 2^15
     — 64ГБ это – 2^16

     Максимальный размер можно установить раза в полтора больше, но при этом как утверждают значительно увеличивается фрагментация диска.
     В этом же окне вы можете выбрать на каком диске будет размещён файл подкачки. На выбранном диске будет создан файл pagefile.sys, его размер будет равен той величине, которую вы задали в окне «Виртуальная память», Рис. 11.

     Нажать кнопку «Задать».
     Настройки вступят в силу после перезагрузки.

3. Отключение лишних служб.

     Список некоторых служб, которые можно отключить:
     1. Diagnostic Execution Service — шпион.
     2. DialogBlockingService — блокировка окна, бесполезна служба.
     3. SysMain — мониторит действия пользователя.
     4. Windows Search — постоянно индексирует диски, опасно для SSD дисков.
     5. Стандартная служба сборщика центра диагностики Microsoft (R) — шпион, тратит ресурсы компьютера.

     На самом деле это не всё, но на мой взгляд этого должно быть достаточно.

     Как открыть окно «Службы».
     Клик ПКМ по кнопке «Пуск», потом «Найти», откроится окно поиска, Рис. 12.
     Здесь: набрать в строке поиска «службы» затем нажать кнопку «Открыть».

Рис. 12
Рис. 12

     Откроется окно служб, Рис. 13.

Рис. 13
Рис. 13

     Способ отключения для всех служб схожий.
     В правом поле находим службу, которую желаем отключить, см. перечень выше. Двойным кликом открываем окно свойств этой службы, Рис. 14.

Рис. 14
Рис. 14

     Здесь если активна кнопка «Остановить» нажимаем сначала её.
     Затем в выпадающем списке выбираем «Отключена».
     Потом Применить и ОК.
     Настройки вступят в силу после перезагрузки.

4. Отключение защитника.

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

     Нажимаем Win+R, откроется окно «Выполнить». Наберём команду gpedit.msc, открывается «Редактор локальной групповой политики».
     Здесь в левом поле пройдём по пути:
     Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Антивирусная программа Microsoft Defender
     Увидим то что изображено на Рис. 15.
     В правом поле нас интересуют две строки (обведено красным).
     Выберем строку «Выключить антивирусную программу Microsoft Defender» и дважды кликнем по ней ЛКМ.

Рис. 15
Рис. 15

     Откроется окно свойств, Рис. 16.

Рис. 16
Рис. 16

     Активируем команду «Включено». То есть мы включаем выключение.

     Теперь открываем папку «Защита в реальном времени», Рис. 15.

Рис. 17
Рис. 17

     Откроется её содержимое, находим строку «Выключить защиту в реальном времени», Рис.17.
     Так же, как и в предыдущем случае заходим в свойства и активируем «Включено».
     Настройки вступят в силу после перезагрузки.

5. Внесение изменений в реестр. Исправление утечки ОЗУ.

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

     Нажимаем Win+R. Открывается окно «Выполнить», Рис. 18.

Рис. 18
Рис. 18

     В строке «Открыть» вводим – regedit. Жмём ОК, открывается окно Редактора реестра, Рис. 19.

Рис. 19
Рис. 19

     Здесь всё также, как и в проводнике Windows. Слева — дерево папок. Справа – содержание папок, здесь будут те самые ключи, параметры которых нам нужно изменить.

     1. Пройдём по пути:

     HKEY_LOCAL_MACHINE → SYSTEM → ControlSet001 → Services → Ndu

Рис. 20
Рис. 20

     Справа есть ключ «Start». Открываем его свойства двойным кликом ЛКМ.

Рис. 21
Рис. 21

     В поле «Значение» меняем 2 на 4. Нажимаем ОК.

     2. Следующий путь такой:

     HKEY_LOCAL_MACHINE → SYSTEM → ControlSet001 → Services → Null

     Нужно просто слева, в дереве опуститься ниже и найти Null.

Рис. 22
Рис. 22

     Здесь значение ключа «Start» нужно изменить с 1 на 4.

     3. Последний путь такой:

     HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Control → Session Manager → Memory Management

     Здесь нам нужен ключ NonPagedPoolSize.

Рис. 23
Рис. 23

     Здесь нужно сначала установить Десятичную систему исчисления, затем поменять значение ключа с 0 на 192.

     Настройки вступят в силу после перезагрузки.

     Конечно в Windows можно ещё много чего отключать и изменять, но мне мой опыт показал, что этого вполне достаточно.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *