4

Я провожу некоторые тесты на очень мощной машине (24 ГБ ОЗУ, Windows 2008, 64-битная версия)

Я проверил свой диспетчер задач: Физическая память: 98% (ОЗУ 24ГБ)

Но полное использование памяти (частного рабочего набора) всех моих работающих процессоров составляет не более 16 ГБ.

Где эти дополнительные 8 ГБ используются для? Используется ли он буфером ввода-вывода ОС или где-то еще?

Кто-нибудь может внести некоторые идеи?

2 ответа2

7

Да, используется для кеширования и буферов. Современные ОС стараются быть умными ... если у вас 8 ГБ памяти, просто простаивающей, не используемой ни для чего, она теряется. Так что, пока ни одно приложение не запрашивает его, ОС находит другие способы использовать его, чтобы попытаться ускорить процесс. Не беспокойтесь об этом - если вашему приложению нужна память, ОС немедленно освободит ее, как только приложение запросит ее.

0

Быстрый ответ: в ОЗУ намного больше, чем общее количество «Память (частный рабочий набор)» для всех процессов.

Во-первых, это общий рабочий набор для всех процессов. Теперь большая часть этого фактически распределяется между процессами, поэтому он учитывается только в общем объеме используемой оперативной памяти. Но то, что диспетчер задач называет «Память (совместно используемый рабочий набор)», действительно должно называться "потенциально разделяемым". По этому показу мы не можем сказать, сколько на самом деле делится. Все, что мы можем сказать, это то, что общий объем используемой оперативной памяти будет самым большим из всех процессов. Но на самом деле будет гораздо больше, чем это.

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

Если вы хотите по-настоящему взглянуть на то, "для чего используется вся моя оперативная память", посмотрите на инструмент sysinternals "RAMmap". Обратите внимание, что на "Use Counts" отображается "активный" столбец и, возможно, "измененный", это единственное, что учитывает использование ОЗУ.

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