Что такое выделенная память оперативная память

Не доверяйте информации о памяти в Диспетчере задач

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.

Отладка по информации о памяти

К счастью, это не какие-то ненужные мелочи ОС. Актуальная информация о потреблении памяти многократно помогала мне в отладке разных проблем.

Самое главное, это найти нетронутые части выделенной памяти. Данные о подкачке тоже важны: эта память передана, но используется редко или вообще не используется.

Даже если память будет иногда использоваться, важно понимать, что это дорогой ресурс, так что идти по такому пути ни в коем случае нельзя. Здесь появятся и утечки памяти.

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

Источник

Мониторинг физической против значения выделенной памяти

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

Что такое выделенная память оперативная память. Смотреть фото Что такое выделенная память оперативная память. Смотреть картинку Что такое выделенная память оперативная память. Картинка про Что такое выделенная память оперативная память. Фото Что такое выделенная память оперативная память

Натолкнул меня на эту мысль мой хороший коллега под ником М., у которого я так же обнаружил некорректные цифры потребления оперативной памяти. Да, они часто встречаются в видео и комментариях, где ребята тщетно пытаются выяснить у кого больше 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 (и всё?), а тем более потреблением ОЗУ, с красивыми цифрами, как у моего коллеги М., это видео, которые не несут большой ценности, элементарно из-за озу, просто вводят в заблуждение. Отслеживайте правильно, отмечая верные значения, если хотите показать действительную картину работу и оптимизацию на конкретно твоей конфигурации пк. Это будет хороший пример и приятное зрелище.

Грамотные и приятные комментарии по делу, критика, всегда приветствуется. Всем спасибо!

Источник

Что значит выделено и кэшировано памяти

Поговорим немного о памяти, а точнее об оперативной памяти. Наиболее часто мы слышим такие понятия как выделено и кэшировано. В чем смысл этих понятий? Давайте постараемся ответить на этот вопрос.

Что такое выделенная память оперативная память. Смотреть фото Что такое выделенная память оперативная память. Смотреть картинку Что такое выделенная память оперативная память. Картинка про Что такое выделенная память оперативная память. Фото Что такое выделенная память оперативная память

Дело в том, что в каждом компьютере установлена оперативная память. Она бывает разных размеров, но по факту вы получаете память которая выделена. К примеру у вас в системе установлено 6 Гб оперативной памяти, что значит, что выделено 6 Гб, под ваш компьютер. Разумеется, ка только вы включили компьютер и он загрузился, свободной памяти остается куда меньше, чем изначально. Все потому, что многие процессы, службы, библиотеки и программы, при включении компьютера, грузятся в оперативную память.

Теперь давайте разберемся, что значит кэшированная память.

Дело в том, что вы можете создать файл подкачки на вашем жестком диске. Когда оперативная память вашего компьютера будет полностью загружена, то файл подкачки будет использоваться как некая замена оперативной памяти. Другими словами, выделенное место на жестком диске, будет имитировать оперативную память. Работать конечно все будет куда медленнее нежели с нормальной оперативной памятью, однако это своего рода плата, за возможность хоть как-то работать в критические моменты.

Таким образом, мы разобрались, что значит выделенная память и кэшированная память. Надеемся, статья была вам полезна и вы нашли ответы на свои вопросы.

Источник

Содержание:

В одной из наших прошлых статей мы коснулись такого аспекта работы 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-кэша, сопровождающееся снижением производительности в играх или при работе с «тяжёлыми» приложениями, пробуйте, в остальных случаях особого смысла в очистке кэша памяти мы не видим.

Источник

Почему моя «выделенная» память намного выше, чем фактическая память ОЗУ?

Что такое выделенная память оперативная память. Смотреть фото Что такое выделенная память оперативная память. Смотреть картинку Что такое выделенная память оперативная память. Картинка про Что такое выделенная память оперативная память. Фото Что такое выделенная память оперативная память

Я провел два сканирования на вирусы, и ни один из них до сих пор не нашел ничего (Malware Bytes и Avira Rescue). Во время игры я получу всплывающие окна Windows, говорящие о том, что в моей системе недостаточно памяти, и рекомендует закрыть игру. Это также может произойти во время просмотра. Мой компьютер, кажется, сильно зависает и часто зависает, например, при нажатии на ссылку в программе обмена сообщениями для открытия в моем браузере.

Я не уверен, что является причиной этого. Мое использование памяти на вкладке процессов не составляет такого большого процента моей реальной памяти.

В качестве примечания, может ли мое использование диска иногда достигать 100%? Исследования, кажется, говорят так.

Весь смысл виртуальной памяти в том, что она может быть намного больше физической (ОЗУ), нет?

В конце концов, весь смысл виртуальной памяти в том, что вы можете использовать больше виртуальной памяти, чем физической памяти (ОЗУ).

Если вы хотите выяснить, что использует выделенную память, вам нужно взглянуть на вкладку «Подробности» диспетчера задач и включить столбец «Размер фиксации».

На этой вкладке столбец «Память (частный рабочий набор)» соответствует тому, что на вкладке «Процессы» отображается для «Память». Это оперативная память, назначаемая в настоящее время каждому процессу для его выделенного виртуального адресного пространства. Остальная часть будет в файле подкачки. Но, опять же, процессы имеют другие типы адресного пространства, в основном такого типа, который называется «сопоставленный», и некоторая часть этого также будет в ОЗУ. Существуют и другие общесистемные вещи, созданные ОС, не относящиеся к какому-либо процессу, которые также используют ОЗУ.

Короче говоря, столбец «Память» на вкладке «Процессы» не должен складываться в общий объем используемой оперативной памяти. Это только показывает, сколько из общего использования используется в частном порядке каждым процессом.

Windows использует файл подкачки, который похож на RAM, но хранится на вашем жестком диске. Это намного медленнее, но полезно, когда вам нужно использовать больше памяти, чем у вас на компьютере. Windows хранит части памяти, которые некоторое время не использовались в файле подкачки, когда ей нужно хранить больше памяти, но нет места в оперативной памяти для ее хранения.

Вы не должны иметь столько открытых программ, сколько хотите, и убедитесь, что на вашем компьютере достаточно памяти для игр, в которые вы играете, и программ, которые вы используете. Надеюсь, это поможет!

Источник

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

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