Зачем использовать общий объем использования ресурсов монитора и диспетчера задач даже при удаленном добавлении к общей физической памяти?

Я заметил это на многих различных машинах Windows во многих случаях: использование ОЗУ, указанное диспетчером задач или Монитором ресурсов, часто, похоже, составляет сумму, которая значительно ниже фактической используемой суммы.

Например, много раз на моем ноутбуке или на моем рабочем столе, я видел что-то вроде 7 ГБ в использовании, и все же общий объем оперативной памяти больше похож на 3 ГБ. Я просто не могу понять, где он используется!

Вот краткий пример, который я заметил сегодня в Resource Monitor на сервере:

Монитор ресурсов
Нажмите для увеличения

Если вы щелкните правой кнопкой мыши изображение и откройте его на новой вкладке и просмотрите номера, вы заметите, что рабочий набор (который не включает нефизическую виртуальную память) составляет около 1,7 ГБ. Я получаю аналогичные числа, добавляя использование ОЗУ в Диспетчере задач, когда включено «Показывать процессы от всех пользователей».

Теперь вот скриншот закладки Performance Manager:

Диспетчер задач
Нажмите для увеличения

Это говорит о 7,6 ГБ физической памяти.

Я все время вижу это на персональных компьютерах, ноутбуках, а теперь и на серверах: общее количество оперативной памяти, о которой сообщают системные инструменты, составляет только около 1/4 используемого мной ОЗУ. WTF продолжается ???

Есть ли какое-нибудь удовлетворительное объяснение, где находится вся моя оперативная память? Что его поглощает, и почему это не оставляет следов?

EDIT: Вот изображение графического использования ОЗУ, так как пользователь спросил:

Использование RamMap
Нажмите для увеличения

EDIT 2: В ответ на ответ Джеймса, вот картина невыгружаемых процессов в poolmon.exe , отсортированная по размеру:

Введите описание изображения здесь

Эти результаты меня смущают. poolmon правильно заявляет, что у меня есть 6 poolmon пула, но все процессы невыгружаемого пула меньше 8 МБ.

Что это может означать? Неужели poolmon не смог обнаружить некоторые из процессов с использованием невыгружаемого пула?

Извините, я знаю, это звучит как легкомысленный ответ … но ответ на вопрос в вашем названии «потому что они не должны».

Или выразить это более вежливо: много использования ОЗУ, которая не находится в частных рабочих процессах процессов. Некоторые из них относятся к общим рабочим группам процессов, но вы не можете получить достоверное представление о фактическом использовании там из-за совместного использования; Сложение номеров процессов даст вам слишком большой результат.

Другие вещи, которые занимают ОЗУ, такие как невыгружаемый пул, резидентная часть выгружаемого пула и резидентные части другого пространства ядра, вообще не отображаются в «процессах» диспетчера задач.

На Диспетчере диспетчера задач см. Раздел «память ядра»? У вас есть 6 ГБ «невыгружаемой памяти» (это невыгружаемый пул). Это часть раздела «В использовании» на вашем втором графике. Неплатежный пул не взимается ни с каким процессом, поэтому добавление номеров для каждого процесса в диспетчере задач не приближается к используемой сумме. Некоторые драйверы, скорее всего, используют его. Это совершенно избыточная сумма; что водитель, безусловно, глючит.

RAMmap может подтвердить это (на вкладке «Использовать счетчики», посмотрите на общую сумму «Nonpaged Pool»), но это не поможет вам найти, какой драйвер вызывает ее.

Вот как это найти: Получите копию инструмента Microsoft «poolmon». Это инструмент с характерным режимом (мальчик, он когда-либо), распространяемый вместе с набором драйверов Windows. Для Windows 7 WDK – бесплатная загрузка . Вам нужно загрузить все это (это ISO) и установить его из этого, но вы можете установить только инструменты, если это все, что вы хотите.

Найдите poolmon в каталогах WDK – обязательно выберите правильный, 32- или 64-разрядный – и запустите его из командной строки администратора. Вы получите такой вид:

Введите описание изображения здесь

Теперь нажмите клавишу «p» (нет, я не шучу, никаких меню здесь!), Пока столбец «Тип» не покажет только «Nonp». Затем нажмите «b» (дважды, если необходимо), чтобы отсортировать дисплей в порядке убывания по столбцу Bytes (это уже было сделано в примере здесь).

Затем посмотрите на столбец «Tag» для самой верхней строки. В (очевидно, искусственном) случае, показанном здесь, это «Утечка». (Эта система работает с драйвером, который был преднамеренно прослушиван, чтобы вызвать эту проблему – это «утечка» невыгружаемого пула.)

Кстати, выделенные строки – это те, которые были изменены с предыдущего обновления на этот архаичный экран.

Теперь найдите c: \ Windows \ System32 \ Drivers для файла .sys, содержащего эту строку. В этом случае вы будете искать «Утечку», например:

 c:\windows\system32> findstr /s Leak *.sys 

Затем найдите в Интернете ссылки на эту строку и / или имя этого драйвера.

Возвращение сюда и предоставление полного имени, имени производителя и т. Д. Из файла .sys также будет полезно.

(Моя ставка заключается в том, что тег, который вы найдете, будет ECMC, драйвер – intmsd.sys, и он связан с продуктом ExpressCache или IntelliMemory. Я бы «удалил» этот продукт. Обновлено исправление проблемы, но даже С фиксированной версией я никогда не видел повышения производительности системы этим продуктом, он по существу дублирует функциональные возможности, которые уже есть в Windows.)

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

  • Excel исчерпал ресурсы, пытаясь вычислить одну или несколько формул
  • Как измерить общее использование ОЗУ в программе под Windows?
  • Совместимость с RAM
  • Когда вы знаете, что вам нужно больше барана?
  • Необходимая информация для совместимости с ОЗУ
  • Лучше ли иметь 4 ГБ оперативной памяти в двухканальном режиме или 6 ГБ в качестве одного канала?
  • Как определить, какой модуль RAM не работает Memtest86?
  • Могу ли я обновить свой ноутбук
  • Диспетчер задач Windows 8.1 Использование памяти
  • Почему есть чипы RAM с шинной скоростью 1600 МГц, поскольку нет процессоров, поддерживающих более 1333?
  • Какие слоты подходят для установки 2x8 ГБ оперативной памяти?
  • Давайте будем гением компьютера.