- Выделенная и общая память графического процессора. Что это? Почему бывает 0 Гб?
- Если общая память графического процессора 0
- Если выделенная память графического процессора 0
- 1. На компьютерах с дискретной видеокартой:
- 2. На компьютерах с интегрированной видеокартой:
- 🔻 Вам будет интересно
- Что значит выделено и кэшировано памяти
- Мониторинг физической против значения выделенной памяти
- Не доверяйте информации о памяти в Диспетчере задач
- Выделение памяти в Windows
- Зарезервированная и переданная память
- Файл подкачки ОС
- Отслеживание памяти
- Эффективные метрики памяти
- Отладка по информации о памяти
Выделенная и общая память графического процессора. Что это? Почему бывает 0 Гб?
Иногда пользователи обращают внимание, что в Windows отображается два загадочных параметра видеокарты:
- общая память графического процессора
- и выделенная.
Что это значит? Чем они отличаются? На что обращать внимание, чтобы выжать максимум из видеокарты?
Для проверки этих параметров нажмите одновременно Ctrl + Shift + Esc . Перейдите на вкладку « Производительность ». Выберите раздел « Графический процессор ».
- Выделенная память физически присутствует на видеокарте — это указан её номинальный объём.
- Общая память видеокарты — это объём оперативной памяти компьютера, который используется в случае нехватки физической памяти видеокарты.
При просмотре производительности видеокарты выделенная составит к примеру 8,0 ГБ, а общая память графического процессора — 16,0 ГБ. Иногда наоборот, общая меньше выделенной.
Любые цифровые значения в этих разделах говорят о том, что память работает правильно, как и задумано в операционной системе Windows. Но по ним можно определить, чего системе не хватает. Просто запустите приложение или игру, чтобы проверить нагрузку на графическую память.
Если общая память графического процессора 0
Не хватает свободной оперативной памяти . Попробуйте выгрузить ненужные приложения и удалить лишние программы с компьютера. Возможно фоном работает мессенджер, браузер или видеопроигрыватель — закройте их. Если общая память не восстановится, значит у вашего компьютера слишком мало ОЗУ. О том, сколько лучше выбрать гигабайт памяти, читайте здесь .
Если выделенная память графического процессора 0
Не хватает графической памяти . В первую очередь проверьте, какой графический процессор используется, если у вас, например, ноутбук с двумя видеочипами (один интегрированный в процессор, а второй дискретный).
Если система с единственной видеокартой пишет, что выделенной памяти графического процессора 0, то есть два пути.
1. На компьютерах с дискретной видеокартой:
- обновите драйвер,
- переустановите DirectX,
- установите обновления Window,
- проверьте исправность видеокарты.
2. На компьютерах с интегрированной видеокартой:
- проверьте настройки BIOS (пункт что-то вроде «VGA memory»),
- освободите оперативную память и закройте все лишние приложения,
- проверьте параметр при запущенной игре или фильме,
- обновите драйвер,
- переустановите DirectX,
- установите обновления Window,
- увеличьте объём оперативной памяти в системе,
- диагностируйте исправность самого видеочипа.
Мы выяснили, что раздел выделенной памяти означает сколько физически используется памяти видеочипа. Общая память относится к резервному объёму системы, из которого видеочип будет черпать ресурсы в случае нехватки собственных.
🔻 Вам будет интересно
Подсистема памяти в бизнесе должна быть оптимизирована профессионально. Проконсультируйтесь с экспертами по ИТ-аутсорсингу и получите поддержку по любым техническим вопросам и задачам.
Источник
Что значит выделено и кэшировано памяти
Поговорим немного о памяти, а точнее об оперативной памяти. Наиболее часто мы слышим такие понятия как выделено и кэшировано. В чем смысл этих понятий? Давайте постараемся ответить на этот вопрос.
Дело в том, что в каждом компьютере установлена оперативная память. Она бывает разных размеров, но по факту вы получаете память которая выделена. К примеру у вас в системе установлено 6 Гб оперативной памяти, что значит, что выделено 6 Гб, под ваш компьютер. Разумеется, ка только вы включили компьютер и он загрузился, свободной памяти остается куда меньше, чем изначально. Все потому, что многие процессы, службы, библиотеки и программы, при включении компьютера, грузятся в оперативную память.
Теперь давайте разберемся, что значит кэшированная память.
Дело в том, что вы можете создать файл подкачки на вашем жестком диске. Когда оперативная память вашего компьютера будет полностью загружена, то файл подкачки будет использоваться как некая замена оперативной памяти. Другими словами, выделенное место на жестком диске, будет имитировать оперативную память. Работать конечно все будет куда медленнее нежели с нормальной оперативной памятью, однако это своего рода плата, за возможность хоть как-то работать в критические моменты.
Таким образом, мы разобрались, что значит выделенная память и кэшированная память. Надеемся, статья была вам полезна и вы нашли ответы на свои вопросы.
Источник
Мониторинг физической против значения выделенной памяти
Доброго времени суток! Текущий блог я бы хотел посветить цифрам потребления оперативной памяти и немного рассказать о вариантах мониторинга и различиях в потреблении.
Натолкнул меня на эту мысль мой хороший коллега под ником М., у которого я так же обнаружил некорректные цифры потребления оперативной памяти. Да, они часто встречаются в видео и комментариях, где ребята тщетно пытаются выяснить у кого больше 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 я привык к Диспетчеру задач. Оттуда я убил сотни приложений за плохое поведение. Там же смотрел, кто из них пожирает ресурсы. Пока я не начал работать с машинами, у которых сотни гигабайт памяти, а у приложений соответствующие запросы. В этой статье обсудим, почему Диспетчер задач плохо отслеживает память и что использовать взамен. Во-первых, о механизме выделения памяти в Windows.
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 [выделенная память] = рабочий набор + файл подкачки
По умолчанию Диспетчер задач показывает для любого процесса именно рабочий набор:
И это число, на которое я всё время смотрел. Откуда я знал, что в Диспетчере задач информация о переданной памяти находится в колонке Commit Size . Я так и не смог там найти информацию о виртуальной памяти.
Диспетчер задач позволяет добавить информацию о переданной памяти, если щёлкнуть правой кнопкой мыши по столбцам и выбрать соответствующий пункт
Эффективные метрики памяти
К счастью, есть много других ресурсов для отслеживания ресурсов. На каждой машине под Windows установлен PerfMon (Системный монитор), который выдаёт очень подробную информацию о каждом процессе и системе в целом:
Интересно, что Системный монитор умеет фактически исследовать и сравнивать метрики на двух или более компьютерах в сети. Это очень мощный инструмент, но Диспетчер задач, очевидно, удобнее для пользователей. В качестве промежуточного решения рекомендую Process Explorer:
Бум! Visual Studio, чего это ты до сих пор в 32-битном режиме (обратите внимание на его Virtual Size)? Пиковое использование памяти на моём компьютере на уровне 89% от максимума, ещё терпимо. Это пригодится позже.
Дополнение: многие указали на другие удобные инструменты, в том числе VMMap и RAMMap.
Отладка по информации о памяти
К счастью, это не какие-то ненужные мелочи ОС. Актуальная информация о потреблении памяти многократно помогала мне в отладке разных проблем.
Самое главное, это найти нетронутые части выделенной памяти. Данные о подкачке тоже важны: эта память передана, но используется редко или вообще не используется.
Даже если память будет иногда использоваться, важно понимать, что это дорогой ресурс, так что идти по такому пути ни в коем случае нельзя. Здесь появятся и утечки памяти.
По этим причинам я ранее слышал предложение полностью удалить файл подкачки и приравнять выделенную память рабочему набору. Однако это обоюдоострая идея. Тогда ОС не в состоянии сбросить память в случае неправильной работы приложений, которые иногда впустую резервируют память.
Источник