.NET承诺与预留堆大小

wj3*_*j32 2 .net garbage-collection memory-management

我的程序有7,667,712个字节的已提交堆,但它有33,546,240个保留堆字节!我可以看到该程序使用大约44 MB的专用字节.如何让.NET GC为托管堆保留更少的空间?

Bra*_*non 6

仅仅因为你的进程保留了内存,并不意味着它正在使用那个内存.

在Windows中,预留内存意味着您的进程已将页面映射到地址空间.通过提交这些保留页面来分配物理内存.当然,即使这样,您也不一定使用该内存,因为已提交的页面可以换出到页面文件,暂时释放底层物理内存.

简而言之,这不是您(通常)需要担心的事情.你想解决的问题是什么?