问题
Looking for a memory leak I recently noticed that the Virtual Memory value reported by Process Explorer (procexp.exe by Microsoft/Sysinternals v16.26) is very high - like about 2.1TB where my laptop has 32GB RAM running Win 10Pro X64. Here for example, it reports that the virtual memory size of a Chrome.exe process is 2,151,819,136 KB. Any idea what may be causing that?
回答1:
Thanks that-other-guy for the tip.
As Alex Ionescu explains in his post (How Control Flow Guard Drastically Caused Windows 8.1 Address Space and Behavior Changes), High Entropy ASLR (HEASLR), Top-down Randomization and Anonymous Memory Randomization causes the high virtual address to be used and as such the process virtual address space hovers around 2TB.
The figure below from Alex's post shows how all programs built with /CFG have their virtual memory size at 2TB:
来源:https://stackoverflow.com/questions/56909785/unreasonably-huge-process-virtual-memory-size-reported-by-process-explorer