32-разрядный процесс резервирует чуть более 2 ГБ виртуальной памяти
Я пытаюсь диагностировать некоторые проблемы использования памяти в моем приложении. Я использую vmmap в 32-битном процессе на 64-битной Windows 10, и он говорит мне, что общее использование памяти немного превышает 2 ГБ:
Total 2110676 K
Image 401556 K
Mapped File 52424 K
Shareable 43180 K
Heap 93976 K
Managed Heap 59328 K
Stack 119296 K
Private Data 1287524 K
Page Table 39060 K
Unusable 14332 K
Free 25472 K
У меня вопрос, как я могу объяснить тот факт, что vmmap сообщает о более чем 2 ГБ использования виртуальной памяти? Я думал, что процесс позволял только адресовать до 2 ГБ пространства. Я не связал свою заявку с /LARGEADDRESSAWARE.
Если посмотреть на разбивку по Total, самый большой адресный блок составляет 60 КБ при 0x7FFE1000: