Содержание:
↑ Кэшированная оперативная память

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


Нужно ли очищать кэшированную память
Особой нужды в очистке кэшированной памяти нет, более того, постоянная принудительная её очистка может привести к неравномерной нагрузке процессора, более частому обращению к файлу подкачки и общему снижению производительности. Исключения составляют те случаи, когда вы точно установили связь между увеличением объёма кэшированной памяти с падением производительности, что иногда бывает в играх. Тогда на собственный страх и риск вы можете включить очистку кэша оперативной памяти.
Очистка кэшированной памяти в RAMMap и EmptyStandbyList
Самый простой способ обнулить кэш оперативную память — это воспользоваться бесплатной тулзой RAMMap, разработанной одним из сотрудников Microsoft Марком Руссиновичем. Утилита не требует установки, чтобы очистить в ней память, выберите в главном меню Empty → Empty Standby List. Объем кэшированной памяти тут же уменьшится в несколько раз, но уже через несколько минут система опять её зарезервирует. 
Откройте Планировщик командой taskschd.msc, справа нажмите «Создать» задачу

Мониторинг физической против значения выделенной памяти
Доброго времени суток! Текущий блог я бы хотел посветить цифрам потребления оперативной памяти и немного рассказать о вариантах мониторинга и различиях в потреблении.

Натолкнул меня на эту мысль мой хороший коллега под ником М., у которого я так же обнаружил некорректные цифры потребления оперативной памяти. Да, они часто встречаются в видео и комментариях, где ребята тщетно пытаются выяснить у кого больше FPS и, в частности, показать работоспособность данной игры на конкретно выбранном компьютере. Но ровно как FPS, без показателей минимальных значений 0.1/1, времени кадра и максимального значение, это всего лишь среднее значение в данный момент, так и потребление озу, в варианте «физической», цифра, что не отражает реального потребления оперативной памяти всех процессов. Да да, у нас есть две цифры на выбор в программах и даже в диспетчере задач, в разделе «производительность» и вкладке «память», есть используемая (сжатая) и выделенная. Обратите внимание, что эти цифры отличаются, при том выделенная заметно больше. Сразу скажу, что в силу своего непрофессионализма данной области, блог будет иметь характер, с точки зрения простого пользователя.
Итак, в английском языке «выделенная память» в windows 10 называется commit charge (в диспетчере задач просто committed). Если интересует подробности данного термина и его характеристика, то вы теперь всегда можете узнать больше в интернете. Однако здесь, я попробую вкратце охарактеризовать простыми словами. Конечно этот параметр можно найти, к примеру в MSI Afterburner, сразу под строчкой Загрузка ОЗУ (RAM Usage) и в HWiNFO, части сенсоров, подраздела System: X System Product Name, где X название ваше материнской платы, а сама строчка Virual memory Committed и Virual memory Available, т.е. занятая и свободная виртуальная память (всё верно, виртуальная или выделенная память). Стоит внести ясность, что если у вас есть файл подкачки, то это значение будет просуммировано с объёмом вашей оперативной памяти.
Итак, к цифрам. Начнём с наиболее яркого примера – RDR2, где в моём бенчмарке указано 18 Гб потребления оперативной памяти. Чего не скажешь о моём коллеге М. (скриншот), где только 9,6 Гб, зато яркая строчка DDR4 – 32Gb (4000MHz).

Зачем там 32 Гб, если потребление не больше 10-ти? И можно подумать, что я специально излишне нагружаю оперативную память бразуером с 300 вкладками. Последнее опровергается просто – в конце видео (ниже под спойлером) продемонстрирован диспетчер задач, в том числе видно время работы ПК и вкладка памяти – используется (сжатая), которая соответствует 10,5 Гб и выделено уже 18Гб. Да, значение используемой память похоже на значение со скриншота товарища М. Выделенная больше физической всегда, и об этом дальше.
Стоит напомнить, что файл подкачки (ФП) служит для расширения оперативной памяти, т.е. используется при её нехватке. Система может отправлять неактивные или свёрнутые программы в ФП, так у меня как то оказалась Far Cry: New Dawn там. В моём случае 18 Гб превратятся 16 в оперативной и 2 Гб занято в ФП. Хотя нет, сейчас у меня 32Гб (2х16) и отключенный ФП, а значит всё в оперативной памяти. Проблем с этим нет вот уже многие годы. А это значит, если у тебя 16 Гб (или меньше), то отключать его не стоит, поскольку при неправильном мониторинге (выбранной загрузка озу или мониторинг физической памяти), в данной игре будет вылет с последующим сообщением о нехватке памяти, и удивлённым, вопрошающим лицом – «почему же при 10 Гб потребления ОЗУ в RDR2 у меня нехватка памяти?». Наконец перейдём к определению и всё что я нашёл о выделенной памяти и причинах, почему данное значение больше.
Как гласит сайт майкрософт, выделенная (так же виртуальная) – максимально доступная память, включающая все файлы подкачки, которую система может поддерживать. Если это значение достигает предела, система и процессы могут не получить выделенную память. Это состояние может вызвать зависание, сбой и другие неисправности.
Попросту это виртуальное адресное пространство частного процесса, часть которого может находится как в ОЗУ, так и файле подкачки. Так существуют и неиспользуемые, выделенные, области для будущих обращений программ. Поэтому это значение больше, чем физическая (используемая). Т.е. по сути, это место зарезервировано операционной системой под кэш, драйвера, программу и т.д. Не забывайте, что очистку кэша можно произвести и такой программой, как Empty tandbyList, прописав её в планировщик заданий. В итоге, когда запускаешь windows, то уже увидишь порядка 4 Гб в ОЗУ реально занятного пространства, а спустя, условно, часов 5 порядка 5-6 Гб. И совсем необязательно это строго область файла подкачки (пространство в HDD/SSD). Личное наблюдение в течении суток (и более при системе 32 и 16 Гб) показало, что у меня был занят в простое файл подкачки порядка 50 мегабайт, максимум 300. Сам файл подкачки «по выбору системы» и объём автоматически увеличивался, по мере необходимости. При фиксации 2Гб (наличии планок 8+8) вылетела ошибка нехватки, т.к. объём перевалил уже за 18Гб. Для меня наиболее ярким примером являются вышеупомянутая RDR2, а так же ARK, Tom Clancy’s The Division 2, Horizon Zero Dawn К последним играм, прогулявшись по youtube, я даже нашёл пару роликов, где кто-то всё же догадался добавить верные значения потребления ОЗУ. Не забывайте, что игра кэширует данные в оперативную память, и всего да 10 минут в игре можно потерять порядка 2Гб уже, легко. За 2 часа игры в ARK я терял 6Гб (к доступных 16 ОЗУ + файл подкачки), а начиналось всё с 14.
Приходим к выводу, что большинство роликов, хоть здесь, хоть на youtube, и конечно комментарии, связанные с величиной FPS (и всё?), а тем более потреблением ОЗУ, с красивыми цифрами, как у моего коллеги М., это видео, которые не несут большой ценности, элементарно из-за озу, просто вводят в заблуждение. Отслеживайте правильно, отмечая верные значения, если хотите показать действительную картину работу и оптимизацию на конкретно твоей конфигурации пк. Это будет хороший пример и приятное зрелище.
Грамотные и приятные комментарии по делу, критика, всегда приветствуется. Всем спасибо!
Кэшировано много оперативной памяти Windows 10
Можно увидеть, что кэшировано много оперативной памяти в диспетчере задач Windows 10. Пользователям не совсем понятно что это за память. И как большое её количество может повлиять на производительность. Думаю понятно, чем больше ОЗУ тем меньше проблем.
Эта статья расскажет, что такое кэшированная память и почему её очень много в Windows 10. Во время эксперимента файл подкачки был отключён на всех дисках. Многие процессы, службы, библиотеки и программы, при включении компьютера, уже попадают в оперативную память.
Что значит кэшировано памяти
Этот объём памяти (включает зарезервированную и изменённую память), в которой содержаться кэшированные данные и код, предназначены для мгновенного доступа и использования процессами, драйверами и операционной системой.
Например, в диспетчере задач показывает кэшировано 6.0 Гб. В строке Структура памяти смотрим Зарезервировано (5832 Мб). Это и есть память, содержащая кэшированные данные и код, которые прямо сейчас не используются.
В первую очередь система использует свободную память. При нехватке памяти, кэшированная будет переводиться в свободную. Размер кэша уменьшается и менее нужные (давно используемые) данные очищаются.
Монитор ресурсов имеет более подробное описание. Это зарезервированная память, в которой содержаться кэшированные данные, и которая недоступна для использования. При необходимости память освобождается.
Важно! Операционная система установлена на твердотельный SSD накопитель. Сразу исключаем версии с использованием виртуальной памяти Windows 10. Файл подкачки полностью отключён на всех дисках. И все нужные данные кэшируются непосредственно в ОЗУ.
Как очистить кэшированную оперативную память
Удалите неиспользуемые приложения
Все неиспользуемые приложения, особенно те, которые добавляются в автозагрузку, попадают в память. В системе множество программ, которые пользователи не используют, кэшируются, занимают ОЗУ. Вспомните только не убираемую автозагрузку uTorrent в Windows 10.
Запретите использование данных для открытия приложений после перезапуска или обновления. В новой версии параметр назыв. Автоматически сохранять мои перезапускаемые приложения при выходе из системы и перезапускать их после входа.
Много писали о тонкой настройке автозапуска программ Windows 10. Перейдите в расположение Параметры > Приложения > Автозагрузка. И выключите запуск всех ненужных программ перетягиванием ползунков.
Отключение ненужных служб
В системе с каждым обновлением становиться всё больше и больше служб. Хотя для обычного пользователя далеко не все они нужны. Смотрите, как отключить на примере службы криптографии. Более подробно: оптимизация и ускорение Windows 10 для слабых ноутбуков.
Откройте управление службами выполнив команду services.msc в окне Win+R. Теперь достаточно изменить тип запуска ненужной службы на Отключено. Внимательно читайте описание службы, которую Вы отключаете и смотрите её зависимости.
Очистка оперативной памяти
Самый простой способ очистки оперативной памяти — это перезагрузка компьютера. Все данные, которые кэшируются непосредственно в ОЗУ будут очищены. Включение компьютера повторно покажет ситуацию с количеством занятой памяти.
Можно воспользоваться различным софтом для очистки оперативной памяти. В ближайшем будущем такая функциональность будет непосредственно в ОС. Смотрите подробней: как очистить оперативную память на Windows 10.
Не доверяйте информации о памяти в Диспетчере задач
tl;dr: Диспетчер задач скрывает информацию о подкачке (paged memory) и виртуальном пространстве процесса. Лучше используйте Process Explorer из комплекта Sysinternals.
Выделение памяти в Windows
При запуске нового процесса ОС присваивает этому процессу непрерывное адресное пространство. В 32-разрядных системах это пространство может составить 4 ГБ, обычно 2 ГБ для ядра, а остальное для процесса. В этой статье проигнорируем использование памяти ядром. В 64-разрядных системах зарезервированная процессом память может вырасти до колоссальных 64 ТБ. Что этот процесс будет делать с несколькими терабайтами памяти, когда у нас на самом деле жалкие 8 ГБ? Сначала нужно понять, что такое зарезервированная и переданная память.
Зарезервированная и переданная память
Не все части этого огромного адресного пространства равны. Некоторые части адресного пространства процесса фактически поддерживаются либо физической оперативной памятью, либо диском (см. ниже). Зарезервированная память считается переданной (Committed), если ОС предлагает вам эту память при попытке её использовать. Остальная часть адресного пространства, а это подавляющее большинство, остаётся доступным для резервирования. То есть не всегда ОС может предложить вам этот блок памяти для использования: она может сделать копию на диске (файл подкачки), например, а может и не сделать. В C++ резервирование памяти осуществляется вызовом VirtualAlloc. Так что переданная память является аппаратно ограниченным ресурсом в ОС. Давайте посмотрим.
Файл подкачки ОС
Файл подкачки — замечательная идея. В принципе, ОС понимает, что некоторые части памяти особо не используются вашим приложением. Зачем тратить на него реальную физическую память? Вместо этого процесс в ядре записывает этот неиспользуемый фрагмент на диск. Пока к нему не обратятся снова, только тогда он вернётся в память.
Для более подробного объяснения, как работает память в Windows, рекомендую лекцию «Тайны управления памятью» Марка Руссиновича.
Отслеживание памяти
Здесь много за чем нужно следить и анализировать. К кому обратиться? Конечно, к Диспетчеру задач!
Память в RAM обычно называют рабочим набором (Working Set), в то время как всю выделенную память обычно именуют Private Bytes. Библиотеки DLL вносят путаницу в определения, поэтому пока их проигнорируем. Иначе говоря:
Private Bytes [выделенная память] = рабочий набор + файл подкачки
По умолчанию Диспетчер задач показывает для любого процесса именно рабочий набор:
Диспетчер задач позволяет добавить информацию о переданной памяти, если щёлкнуть правой кнопкой мыши по столбцам и выбрать соответствующий пункт
Эффективные метрики памяти
К счастью, есть много других ресурсов для отслеживания ресурсов. На каждой машине под Windows установлен PerfMon (Системный монитор), который выдаёт очень подробную информацию о каждом процессе и системе в целом:
Интересно, что Системный монитор умеет фактически исследовать и сравнивать метрики на двух или более компьютерах в сети. Это очень мощный инструмент, но Диспетчер задач, очевидно, удобнее для пользователей. В качестве промежуточного решения рекомендую Process Explorer:
Бум! Visual Studio, чего это ты до сих пор в 32-битном режиме (обратите внимание на его Virtual Size)? Пиковое использование памяти на моём компьютере на уровне 89% от максимума, ещё терпимо. Это пригодится позже.
Дополнение: многие указали на другие удобные инструменты, в том числе VMMap и RAMMap.
Отладка по информации о памяти
К счастью, это не какие-то ненужные мелочи ОС. Актуальная информация о потреблении памяти многократно помогала мне в отладке разных проблем.
Самое главное, это найти нетронутые части выделенной памяти. Данные о подкачке тоже важны: эта память передана, но используется редко или вообще не используется.
Даже если память будет иногда использоваться, важно понимать, что это дорогой ресурс, так что идти по такому пути ни в коем случае нельзя. Здесь появятся и утечки памяти.
По этим причинам я ранее слышал предложение полностью удалить файл подкачки и приравнять выделенную память рабочему набору. Однако это обоюдоострая идея. Тогда ОС не в состоянии сбросить память в случае неправильной работы приложений, которые иногда впустую резервируют память.
Система не видит всю оперативную память (ОЗУ)! Почему в Windows доступно меньше памяти, чем установлено?
У меня на ноутбуке установлено 8 ГБ ОЗУ, но почему-то используется системой только 3,25 ГБ (про остальную в диспетчере задач написано просто «Зарезервировано аппаратно»). Подскажите, почему система не видит всю мою оперативную память и как все настроить должным образом?
90% случаев). Отмечу, что большинство из них легко решаются даже начинающими пользователями ПК.
Почему системе может быть не доступна вся память
Встроенная видеокарта отнимает часть ОЗУ
Этот подраздел актуален для тех ноутбуков и ПК, на которых есть встроенная видеокарта (ее еще называются интегрированной, например, Intel HD, AMD Vega). Сейчас таких, в общем-то, большинство.
Начинать разбираться с вопросом нужно с диспетчера задач (для его вызова нажмите Ctrl+Shift+Esc).
Во вкладке «Производительность» вы можете увидеть два значения: сколько всего установлено памяти, и сколько из нее используется (в моем случае 12 ГБ всего, и 10,9 ГБ из них используется Windows — т.е. получается, что у меня куда-то пропал
Кстати, если вы зайдите в панель управления и откроете вкладку «Система и безопасность/Система» — то вы также сможете узнать о том сколько памяти установлено и сколько доступно.
Использование выделенной памяти
Если вас не устраивает, что строенная видеокарта отнимает такое большое количество памяти — то в ряде случаев, используя настройки BIOS (UEFI), можно изменить это значение. Разумеется, на каждом компьютере/ноутбуке (в зависимости от железа) значения «регулировки» могут быть разными (см. скрин ниже).
Кстати, стоит отметить, что количество выделенной памяти для интегрированной карты — может влиять на ее производительность.
Как может называться искомый параметр : Share Memory Size, Internal Graphic Mode Select, Onboard Video Memory Size и др.
Память не определяется в BIOS
Если в диспетчере задач (или свойствах системы, см. скрин ниже) отображается общее количество установленной памяти меньше, чем физический имеющейся на ПК (например, у должно быть 8 ГБ, т.к. установлено 2 планки по 4 ГБ, но отображается в Windows только 4 ГБ) — возможно, что какая-то планка просто не определилась в BIOS.
Разумеется, в этом случае необходимо перезагрузить компьютер, войти в BIOS и посмотреть, определилась ли память там, какой ее общий объем.
Кстати, также узнать с каким планками памяти Windows может работать — можно с помощью утилиты AIDA64 (вкладка «Системная плата/SPD» ).
Почему может не определяться память в BIOS:
Чистка контактов памяти резинкой и кисточкой
Неактуальные параметры загрузки
С целью ускорения компьютера, некоторые пользователи (иногда через спец. ПО) меняют параметры загрузки и сами того не подозревая, ограничивают использование ОЗУ. Поэтому, если у вас система видит, скажем, 8 ГБ, а использует только 4-5 ГБ — обязательно проверьте эти параметры.
Ограничение ОС Windows
Разные версии Windows могут «видеть» и использовать разное количество ОЗУ.
Для того, чтобы точно узнать свою версию ОС:
Какая у меня Windows, 32-64 bit

Материнская плата или ЦП не поддерживает нужный объем памяти
У каждой материнской платы и ЦП есть «свое» ограничение как по объему, так и по типу памяти, с которой они могут работать. Разумеется, обойти это ограничение нельзя*.
Узнать, эти ограничения можно:
Дополнения по теме приветствуются.

























