【发布时间】:2012-04-14 09:04:51
【问题描述】:
我有一个程序可以进行一些非常密集的图形工作,并且需要大量内存(> 8GB),但是我的机器目前只有 8GB 的 RAM,这意味着程序在内存不足时会抛出错误的分配.
除了这个程序之外,我还打开了一些其他的东西,占用了我的一些主内存,但大多数情况下只是程序吃掉了内存。
现在,我想知道为什么系统在内存使用量超过 8GB 时会抛出 bad_alloc,而不是出现页面错误并换出一些页面?这不是分页和虚拟内存应该解决的问题之一吗?
我应该能够运行需要> 8GB内存的程序,如果它只是分页出最近未访问的页面,以便能够为所需的内存创建新页面。
谁能解释一下?
我的机器有一个 8GB 的页面文件。
【问题讨论】:
-
什么操作系统?什么过度使用设置?
-
我有 Win7 Home Premium 64bit,我在哪里可以找到过度使用设置?
-
这是一个用户程序,不是发帖者写的——建议转给超级用户?
-
@MartinBeckett,从程序员的角度来看,这也是一个有趣的问题。
-
@TonyTheLion - 是的,但如果你无法控制分配,你就无法真正修复它。可能有您可以更改的用户设置 - 超级用户是询问这些设置的最佳场所