Добавить в корзинуПозвонить
Найти в Дзене
Блог программиста

Как Windows работает с ОЗУ и почему вам ее всегда будет не хватать

Вижу это постоянно: человек покупает мощное железо, открывает диспетчер задач, видит там 16 ГБ занятой памяти в простое и начинает впадать в священный ужас. В ход идут «чистилки», твики и советы из интернета десятилетней давности. Кажется, что свободная память — это залог успеха, но в реальности пустая память — это абсолютно бесполезная память. Давайте на минуту забудем про гигабайты и начнем мыслить наносекундами. Процессор невероятно быстр, но он постоянно голоден до данных. Взять данные из кэша L1 для него — как взять ручку со стола, а вот поход в оперативную память — это уже целое событие, как прогулка к другу в соседний дом. Самое страшное — это диск: ожидание данных с SSD или HDD для процессора сравнимо с полетом на Марс и обратно. Когда вы видите, что Windows 11 «съела» половину ОЗУ при старте, она не ворует её у вас. Система заботливо кэширует туда системные файлы и программы, которыми вы часто пользуетесь. Это делается для того, чтобы данные были под рукой в быстрой памяти, а
Оглавление

Вижу это постоянно: человек покупает мощное железо, открывает диспетчер задач, видит там 16 ГБ занятой памяти в простое и начинает впадать в священный ужас. В ход идут «чистилки», твики и советы из интернета десятилетней давности. Кажется, что свободная память — это залог успеха, но в реальности пустая память — это абсолютно бесполезная память.

Давайте на минуту забудем про гигабайты и начнем мыслить наносекундами. Процессор невероятно быстр, но он постоянно голоден до данных. Взять данные из кэша L1 для него — как взять ручку со стола, а вот поход в оперативную память — это уже целое событие, как прогулка к другу в соседний дом. Самое страшное — это диск: ожидание данных с SSD или HDD для процессора сравнимо с полетом на Марс и обратно.

Зачем Windows ест вашу ОЗУ?

Когда вы видите, что Windows 11 «съела» половину ОЗУ при старте, она не ворует её у вас. Система заботливо кэширует туда системные файлы и программы, которыми вы часто пользуетесь. Это делается для того, чтобы данные были под рукой в быстрой памяти, а не на «марсианском» диске. Как только вашей тяжелой игре реально понадобится это место, Винда мгновенно выкинет кэш и отдаст ресурсы приложению.

Внутри системы всё строго поделено на Процессы (изолированные комнаты с ресурсами) и Потоки (рабочие в этих комнатах), которые и выполняют код. Чтобы рабочие из разных «комнат» не подглядывали друг за другом, используется виртуальная память и аппаратный блок MMU в процессоре, который изолирует их друг от друга.

Почему вам всегда будет не хватает памяти?

На самом деле, зачастую вам это кажется и памяти почти всегда хватает. Вас вводит в заблуждение все то же кэширование винды, из-за которого диспетчере задач говорит вам, что используется почти вся память из доступной. Здесь нужно просто принять тот факт, что винда готов закэшировать любой объем данных. Если у вас 32 гб памяти, спустя пару часов активного использования винды, у вас забьется почти вся эта память, даже если вы закроете все программы, она просто перельется во вкладку «зарезервировано».

-2

Здесь важно понимать, что и на 48 гб и на 64 гб будет ровно та же самая картина. Если вы будете активно пользоваться ПК, открывать и закрывать десяток программ, игр, все это плавно будет перетекать во вкладку «зарезервировано» после их закрытия.

Ловушка чистилок и Mem Reduct

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

Дальше начинается цирк: планировщик прерывает вашу игру, загружает эту «чистилку» в ядро (переключение контекста), она агрессивно сбрасывает кэш и уходит спать. А когда игре снова понадобятся эти данные, процессору придется лезть за ними на медленный диск, создавая аппаратные прерывания и лаги. Это идеальный план по замедлению компьютера за ваши же деньги.

Миф о файле подкачки и износе SSD

Классическая ошибка — отключить файл подкачки при 32 ГБ памяти, «чтобы пощадить SSD». Но без него Windows попадает в ловушку. У системы есть «измененные страницы» — данные свернутых браузеров или Discord, которые существуют только в ОЗУ.

С включенным файлом подкачки Винда спокойно сбрасывает этот мертвый груз на диск, освобождая место под полезный игровой кэш. Без него системе приходится «пускать под нож» самое ценное — кэш вашей активной игры. Итог предсказуемый: вы ловите жесткие фризы, потому что ОС вынуждена экстренно бежать на диск за удаленными данными.

Почему «чистая» Винда реально быстрее?

Секрет плавности свежеустановленной системы вообще не в количестве свободной памяти. На самом дне «пищевой цепи» находятся обычные программы, а выше всех — аппаратные прерывания от железа (мышки, диска, сети). В свежей системе еще нет десятка мусорных драйверов от вендоров: всех этих утилит для RGB-подсветки, хабов для мышек и клавиатур.

Эти драйверы вклиниваются в очередь (DPC) и воруют время у процессора, а планировщик не имеет права их прервать. Пока ядро не разгребет эту очередь, оно физически не может вернуться к вашей игре. Вот это — реальная причина микрофризов, а не лишний гигабайт занятой памяти.

Пара мыслей на дорожку

Операционка — это сложнейший механизм со своими безжалостными законами времени. Вмешательство в её работу без понимания процессов почти всегда дает обратный результат. Не воюйте с Windows за пустые гигабайты — просто дайте ей делать свою работу.

Признавайтесь в комментариях: грешили отключением файла подкачки или использованием «ускорителей» памяти? Я в свое время тоже через это прошел.