c++ - 当您的应用程序开始耗尽内存时,您会怎么做?

标签 c++ memory windows-7

我有一个 C++ 图形应用程序,可以对模型进行大量计算。有一个leak or two我已将其追溯到 CG 和/或我的 ATI 显卡(我 100% 确定!!)。我拥有的机器有 16 GB 内存,当我使用 4.49 GB 内存(系统总使用量,应用程序仅使用 ~1.9GB)时,vector.resize() 开始返回 0 个新元素并且无法调整数组大小.为什么这么快?

最佳答案

(假定为 Windows)

一个 32 位 Windows 应用程序被限制为大约 2.0 GB 的用户模式内存(如果设置了某些启动时参数,则为 3.0 GB)。当您的应用程序用完 1.9 GB 内存时,井就干涸了。

引用:http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx#memory_limits

关于c++ - 当您的应用程序开始耗尽内存时,您会怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7472731/

相关文章:

iis-7 - Powershell Get-WebSite名称参数被忽略

c# - 如何在 Win 7 visual studio 2012 中禁用 C# 中的 #if DEBUG

c++ - 获取/dev/video0的硬件信息

c++ - 如何从运算符函数返回动态对象?

c++ - 我将如何使用指针创建这个对象数组

linux - 为什么我的程序存储器写入速度比读取速度快?

android - 亚行错误 : unable to parse adb version

C++ - 使用 >> 运算符读取文件直到到达行尾

linux - 将内存中正在运行的进程与磁盘中的可执行文件进行比较

future.get 上的 C++ bad_alloc 异常