1

Я ищу способ определить память, которую процесс действительно использует (а не просто выделил).

Глядя на procmon.exe или vmmap.exe соответствующие значения:

Частные байты
Вся память выделена.

Рабочий набор
Используется память в физической памяти.

Предположим, что private bytes = 3 GB а working set = 200 MB . В лучшем случае процесс использует только 200 МБ, а остальное просто выделяется и не используется. В худшем случае он использует все 3 ГБ, и 2,8 ГБ заменяются на файл подкачки.

(Я прочитал вопросы. Сколько памяти реально использует мое приложение для Windows? и что такое частные байты, виртуальные байты, рабочий набор, но они не отвечают на мой вопрос.)

Есть ли способ найти реальное использование памяти процесса?

Редактировать:
Для меня используется память - это объем выделенной памяти, который был заполнен.

При выделении 3 ГБ «ничего» не происходит. Память просто зарезервирована для процесса. Частные байты увеличиваются, но рабочий набор остается неизменным. После заполнения 200 МБ выделенной памяти это отображается на рабочем наборе.

Это 200 МБ используемой / заполненной памяти - это то, что я ищу, независимо от того, был ли он полностью в рабочем наборе или был заменен.

0