Где находится моя память MMF (Memory-Mapped-File) в диспетчере задач Windows? - PullRequest
2 голосов
/ 22 января 2010

Два приложения делят память по MMF. A создать MMF (около 1 ГБ), B открыть этот файл MMF по имени. Когда я вижу диспетчер задач Windows, A имеет 1 ГБ памяти. Но после нескольких закрытий и повторного запуска приложения B, (или через 1 день? Я не уверен, как воспроизвести) Объем памяти A в диспетчере задач Windows составляет менее 1 КБ.

Я думаю, может быть, потому что приложение ничего не делает после создания MMF, Итак, Windows думает, что MMF принадлежат приложению B. (Просто угадай).

Моя ОС - Windows 2003 Enterprise x64, SP2.

Есть кто-то, кто знает причину? Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 22 января 2010

Файл сопоставленной памяти все еще является частью вашего Виртуального адресного пространства , используйте perfmon для получения надежных счетчиков вместо диспетчера задач, который меняется с каждым выпуском Windows. Счетчик Perfmon процесса | Виртуальные байты (всего VAS) является наиболее интересным.

0 голосов
/ 22 января 2010

Это из-за минимизации рабочего набора памяти .

Спасибо всем. :)

0 голосов
/ 22 января 2010

Насколько я понимаю, 1 ГБ зарезервировано в виртуальном адресном пространстве, но память фактически выделяется только для страниц, к которым обращаются. Файлы, отображаемые в память, реализуются параллельно API виртуальной памяти, и оба основаны на NT Virtual Memory Manager. См. Эту статью и диаграмму для объяснения.

Вы заполнили весь файл данными или вы просто выделили 1 ГБ?

UPDATE:

Какой столбец вы просматриваете в диспетчере задач?

Память по умолчанию (частная рабочая) представляет физически выделенную память.

Вы можете добавить столбец Commit Size, чтобы увидеть общий объем виртуального адресного пространства, выделенного процессу.

Вот сводка различной статистики памяти, которую вы можете видеть в диспетчере задач, и что они означают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...