递归代码占用了整个记忆

时间:2013-07-04 11:54:35

标签: windows memory-management recursion stack com+

我有一个C ++项目,它具有极其递归的功能。该项目在专用机器上部署和运行时,最多可占用12 GB内存。以前,此过程曾经以2GB的限制失败。因此,我在Visual Studio 2010平台上将具有20个项目的整个解决方案转换为64位平台。现在,它不会停留在2 GB,但几乎占用了我的整个RAM。在16 GB中,总RAM使用率为15.9 GB。我使用COM +将这些应用程序作为dllhost运行。我的问题是:

  1. 如何限制完全分配的内存导致进程失败?
  2. 在递归结束后,Windows会释放内存吗?因为在我杀死这个过程之前,我没有看到这个过程释放内存。
  3. 终止案例不是问题,我想,因为在组件服务中的回收中使用过期时间选项,我的工作成功了。或者还有其他问题吗?

0 个答案:

没有答案