在Windows7. VS2008上运行的C++原生代码。
我的应用程序的特定状态更改将工作集(私有工作集)从16Mb(6.5Mb)增加到38Mb(22Mb)。因为这似乎过多了,所以我使用umdh检查了堆的变化。我发现堆前后的差值增加了~9Mb。
是什么导致了工作集中的额外内存?
我怀疑可能是dll加载,但我如何确认这一点并将其分解?
发布于 2011-10-27 11:35:17
当一个应用程序请求内存时,windows会给它更多的内存,这样所有应用程序的后续请求就不会导致过多的碎片。例如,您一次请求1个字节,您的工作集不会一次增加1个字节,也不会一次增加一页,而是一次增加几兆字节。工作集是物理内存中的页面。此外,如果有其他东西需要的话,windows可以把多余的东西从你身上拿走。
https://stackoverflow.com/questions/6043434
复制相似问题