我有一个程序可以进行一些非常密集的图形工作,并且需要大量内存(> 8GB),但是我的机器目前只有 8GB 的 RAM,这意味着程序在内存不足时会抛出错误的分配。
除了这个程序,我还打开了一些其他的东西,占用了我的一些主内存,但大多数情况下只是程序吃掉了内存。
现在,我想知道为什么系统在内存使用量超过 8GB 时会抛出 a bad_alloc
,而不是页面错误和换出一些页面?这不是分页和虚拟内存应该解决的问题之一吗?
我应该能够运行需要 > 8GB 内存的程序,如果它只是分页出最近未访问的页面,以便能够为所需的内存创建新页面。
任何人都可以给出解释吗?
我的机器有一个 8GB 的页面文件。