Итак, из любопытства я решил взглянуть на использование моей ОЗУ с моей работающей Windows 7 VM (3 ГБ ОЗУ). Я был ... удивлен, увидев результаты, и мне интересно, почему эти результаты такие, какие они есть:

Диспетчер задач моего хост-компьютера (win 8.1) показывает следующее: Проводник Proc Host

Который действительно только показывает, сколько Chrome свиней .... В любом случае, обратите внимание, что менеджер Virtualbox использует только 75 МБ ОЗУ. Ну, это разумно, это ведь только менеджер, а не сама ВМ. Но подождите, эти цифры (даже если вы добавляете то, что там не видите) не добавляются к текущему объему используемой оперативной памяти (9 ГБ, как указано на вкладке «Производительность»). Учитывая, что моя гостевая машина сейчас использует 1,5 ГБ, можно ожидать, что она будет немного выше в списке ...

Хорошо, давайте попробуем другой инструмент: RAMMap

Во-первых, еще два скриншота из RAMMap:

Что ж, этот бит для "приватности процесса" выглядит примерно 3 ГБ (если я не на порядок с моим беглым взглядом), но все же - ничто, кроме Chrome, не занимает больше 100 МБ ОЗУ.

Ой, посмотри на это:

Похоже, я наконец-то нашел, где это ... но что это? Обрабатывает ли VBox ОЗУ гостя как файл, который он просто загружает в ОЗУ? Это ... что-то совершенно другое? Почему Windows не сообщает мне об этом в своем обычном инструменте диспетчера задач?

TL; DR: Windows, вы не показываете все использование оперативной памяти

2 ответа2

0

Это показано в RAMMap под Driver Locked. Посмотрите, что 3GB использует то, что вы назначили для виртуальной машины.

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

0

TL; DR: процесс использовал память, прекратил использование памяти, и Windows просто слишком ленива, чтобы иметь дело с этим.

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

Нет особой причины, по которой вам следует беспокоиться о том, что Windows выделила этому процессу 2 ГБ ОЗУ, не потому, что она запросила его, а просто потому, что не могла придумать ничего лучшего, связанного с этой памятью. И, конечно, Windows может вернуть эту оперативную память в любой момент, если она действительно имеет какое-то отношение к памяти.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .