В 90-х и нулевых компьютеры имели весьма ограниченные объемы ОЗУ, и чтобы освободить память для приоритетного приложения, пользователи нередко прибегали к утилитам, которые временно выгружали из нее данные. Тогда это действительно помогало выруливать из ситуации, но сегодня подобные инструменты чаще дают прямо противоположный эффект. Почему так происходит — разбираемся в этой статье.
Содержание статьи:
Очистка очистке рознь
Наверное, кто-то возразит: мол, для чего тогда, к примеру, существует опция выгрузки вкладок в браузерах? Вопрос справедливый, но здесь важно отличать встроенные механизмы управления памятью от работы сторонних утилит. Современные браузеры запускают вкладки в отдельных процессах, поэтому, когда пользователь выгружает одну из них из памяти, остальные вкладки не страдают.
Утилиты-оптимизаторы же зачастую работают «по площадям», освобождая (на самом деле нет) память, несмотря на то, что данные вскоре придется снова загрузить в ОЗУ с диска.
Что хранится в дисковом кэше?
Очистка списка ожидания (дискового кэша) была бы частично оправдана, если бы он хранил только данные с низким приоритетом: фоновые сетевые передачи, временные куски файлов, которые система загрузила в кэш про запас, или данные приложений, которые вы закрыли пять минут назад. Но это далеко не так.
Помимо условного «мусора», дисковый кэш также содержит страницы кода и данных активных приложений и важных системных процессов — и решать, что именно из него можно выбросить, должна не сторонняя утилита, а сама Windows. И делает она это, надо признать, весьма неплохо.
Как только пользователь запускает тяжелое приложение и системе начинает не хватать ОЗУ, Windows автоматически вытесняет менее приоритетные данные из памяти и отдает освободившееся пространство под новую задачу.
В моменте очистка снижает производительность
Почему это так, лучше всего объяснить на примере. Представьте, что у вас есть 16 ГБ памяти, из которых 10 ГБ заняты кэшем. Если его очистить, в вашем распоряжении окажутся те же 10 ГБ, которые Windows и так может использовать для новых задач, но теперь программам придется заново перечитывать нужные им файлы с диска, из-за чего производительность временно снизится. Это примерно как уносить нужные документы с рабочего стола в шкаф только ради того, чтобы пару минут стол выглядел чистым.
Если вы откройте «Монитор ресурсов», то увидите разноцветную полосу-диаграмму, которая показывает, чем занята оперативная память.
- Зеленая содержит активные программы.
- Синяя – тот самый дисковый кэш.
- Бледно-голубая – пустая, еще не занятая память.
Когда вы нажимаете кнопку очистки в оптимизаторе, данные из синей зоны перемещаются в бледно голубую, при этом ячейки памяти из синей зоны ожидания помечаются как свободные, но суть от этого не меняется. Каким был объем доступной памяти (доступный – это сумма синей и голубой зон), таким он и остается. И на это прямо указывает не меняющийся показатель «Доступно» в resmon.
Но если это так, почему же тогда Windows приходится снова читать данные с диска? Потому что после принудительной очистки кэша система больше не может воспользоваться их копией в памяти – они для нее больше не существуют, хотя физически никуда не исчезали.
Самый главный вывод
Так что по большому счету, использование чистильщиков ОЗУ в современных версиях Windows – чистое вредительство. Мало того, что они решают несуществующую проблему «забитой памяти», так еще и создают вполне реальную проблему микролагов. Так что если вам действительно не хватает памяти — просто установите дополнительную планку ОЗУ.












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