Кэшированная оперативная память

Категория: Windows 10 / Оперативная память
Добавил: access_timeОпубликовано: 17-02-2021 visibilityПросмотров: 23 204 chat_bubble_outlineКомментариев: 3


В одной из наших прошлых статей мы коснулись такого аспекта работы RAM как аппаратно зарезервированная память, объём которой можно посмотреть в Диспетчере задач, переключившись на вкладку «Производительность» и выбрав слева блок «Память». Так вот, помимо этой самой зарезервированной памяти там имеются и другие данные о работе ОЗУ, которые могут вызвать у пользователя вопросы. Например, что такое кэшированная память в Диспетчере задач, почему она иногда занимает так много места, можно и нужно ли предпринимать какие-либо меры с целью её уменьшения?


Кэшированная оперативная память



Такие разные кэши

Перед тем как приступать к разбору обозначенного вопроса, следует сказать о том, что кэши бывают разные. Есть всем известный браузерный кэш — каталог файловой системы, в котором веб-обозреватели хранят временные данные; не менее известным типом кэша является располагающийся на физическом жёстком диске файл подкачки, в который система сбрасывает непомещающиеся в оперативную память данные; существуют и так называемые промежуточные кэши, например, служащая буфером между ОЗУ и центральным процессором кэш-память, реализованная в виде высокоскоростной микросхемы SRAM. Рассмотрим принцип её работы чуть более подробно.




Что такое кэш процессора, и как он работает


Когда ЦП обращается к оперативной памяти, чтобы считать или записать в неё данные, он сначала идентифицирует ячейку, с которой собирается работать. Для этого он формирует и отправляет в память запрос, RAM же его обрабатывает и открывает доступ процессору к хранящимся в соответствующей ячейке данным. Эта процедура занимает некоторое время, а поскольку процессор гораздо шустрее оперативной памяти, он вынужден ждать ответа от ОЗУ. Чтобы ускорить получение процессором данных из оперативной памяти, была придумана так называемая быстрая оперативная память, или иначе кэш-память. 


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


Что такое кэшированная память в Диспетчере задач


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

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



В то же время кэшированная память не привязана жёстко к данным процессам, поэтому её страницы могут быть использованы для записи других, менее приоритетных процессов. Убедиться в этом вы можете сами, открыв пару десятков вкладок в браузере. Вы увидите, что объем доступной кэшированной памяти сразу станет меньше, а всё потому, что зарезервированные страницы были переданы браузеру для записи в них данных вкладок. Из этого следует, что беспокоиться вам нужно не о увеличении размера кэшированной памяти, а скорее наоборот — об уменьшении доступного объёма кэша при отсутствии свободной памяти, выделенной в Мониторе ресурсов голубым цветом.


Нужно ли очищать кэшированную память


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


Очистка кэшированной памяти в RAMMap и EmptyStandbyList


Самый простой способ обнулить кэш оперативную память — это воспользоваться бесплатной тулзой RAMMap, разработанной одним из сотрудников Microsoft Марком Руссиновичем. Утилита не требует установки, чтобы очистить в ней память, выберите в главном меню Empty → Empty Standby List. Объем кэшированной памяти тут же уменьшится в несколько раз, но уже через несколько минут система опять её зарезервирует. 

Также вы можете воспользоваться такой утилитой как EmptyStandbyList, работающей по тому же принципу что и функция Empty Standby List в утилите RAMMap. В отличие от RAMMap, тулза EmptyStandbyList не имеет графического интерфейса, чтобы очистить с её помощью кэшированную память, достаточно просто запустить исполняемый файл. Естественно, через некоторое время кэш снова будет заполнен, если вы хотите это предотвратить, в Планировщике заданий вам нужно создать задачу, которая станет запускать исполняемый файл EmptyStandbyList.exe каждые 2, 3, 5, 10 или сколько вам нужно минут.


Откройте Планировщик командой taskschd.msc, справа нажмите «Создать» задачу

и выставьте настройки как показано на скриншоте. Обратите внимание, что в качестве пользователя мы указываем Систему, тогда как по умолчанию задание будет выполняться от имени учётной записи администратора. В условиях запуска (триггеры) указываем интервал между запусками задачи, на вкладке «Действия» указываем путь к исполняемому файлу утилиты. Сохраняем задание и проверяем его работу.

Использовать этот трюк или нет, решать вам. Если вы наблюдаете чрезмерное заполнение RAM-кэша, сопровождающееся снижением производительности в играх или при работе с «тяжёлыми» приложениями, пробуйте, в остальных случаях особого смысла в очистке кэша памяти мы не видим.

tagsКлючевые слова
     Рекомендуем другие статьи по данной теме
Ctrl
Enter
Заметили ошибку
Выделите и нажмите Ctrl+Enter

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

Комментарии (3)

  1. img
    19 апреля 2022 09:33 Валерий Бурыкин
    Гость

    У меня КЭШ переполняется при работе с программой SolidWorks 2019.
    Когда объём КЭШа доходит до 28ГБ, работать с компьютером становится совсем невозможно.

    Пробовал чистить программами RAMMap и EmptyStandbyList.
    RAMMap вообще ничего не сделал.
    EmptyStandbyList - очистил. Но после этого система впала в ступор.
    Проводник нагрузил процессор на 43%. Всё равно пришлось делать перезагрузку.

    Для себя я нашёл другой способ очистки КЭШа.
    Создал в системе ещё одного пользователя. Когда КЭШ перегружается выхожу из сеанса "Пользователь 1". А потом снова в него вхожу. В сеанс "Пользователь 2" входить даже не нужно. КЭШ при этом приходит в норму.
    Эта операция занимает значительно меньше времени чем перезагрузка и никак не вредит системе.

    Цитировать replyОтветить
  2. img
    18 февраля 2021 22:39 admin
    Администратор
    Сведения об использовании памяти указаны в оснастке «Монитор ресурсов» и Диспетчере задач (Память), вы можете их посмотреть и сравнить.
    Цитировать replyОтветить
  3. img
    18 февраля 2021 20:39 Grey3
    Есть вопрос. Обычно выделенной памяти больше, чем использованной, а память слева на графике держится посредине. Но вот иногда оказывается, что выделенной памяти будет меньше, чем использованной! А слева на графике наоборот больше!
    Обратите внимание, что п.2 больше, чем п.1, а п.3 ещё больше!
    Предполагаю, что причиной является различие типов памяти: есть просто виртуальная память, есть т.н. рабочий набор, есть ещё общий и частный наборы... (это если смотреть в Монитор ресурсов - Память).
    Так какие именно части памяти указаны в Диспетчере задач?
    Цитировать replyОтветить