Чем объясняется разница между размером кучи (как сообщает umdh) и (частным) рабочим набором (как сообщает менеджер задач)? - PullRequest
2 голосов
/ 18 мая 2011

C ++ собственный код, работающий в Windows 7. VS2008.

В результате определенного изменения состояния моего приложения рабочий набор (частный рабочий набор) увеличивается с 16 МБ (6,5 МБ) до 38 МБ (22 МБ).Поскольку это казалось чрезмерным, я исследовал изменение кучи с помощью umdh.Разница между кучей до и после я обнаружил увеличение ~ 9Mb.

Что объясняет дополнительную память в рабочем наборе?

Я подозреваю, что это может быть загрузка DLL, но как можноЯ подтверждаю это и ломаю это?

1 Ответ

0 голосов
/ 27 октября 2011

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

...