Memory 内存不足-为什么系统没有调出最近未使用的页面?
我有一个程序,它做一些非常密集的图形工作,需要大量内存(>8GB),但是我的机器目前只有8GB的RAM,这意味着程序在内存不足时抛出一个错误的alloc 除了这个程序外,我还打开了一些其他东西,它们占用了我的一部分主内存,但大部分都是程序占用内存 现在,我想知道为什么当系统的内存使用量达到>8GB时,系统会抛出一个Memory 内存不足-为什么系统没有调出最近未使用的页面?,memory,paging,bad-alloc,Memory,Paging,Bad Alloc,我有一个程序,它做一些非常密集的图形工作,需要大量内存(>8GB),但是我的机器目前只有8GB的RAM,这意味着程序在内存不足时抛出一个错误的alloc 除了这个程序外,我还打开了一些其他东西,它们占用了我的一部分主内存,但大部分都是程序占用内存 现在,我想知道为什么当系统的内存使用量达到>8GB时,系统会抛出一个bad_alloc,而不是页面错误和交换一些页面?这不是分页和虚拟内存应该解决的问题之一吗 我应该能够运行需要大于8GB内存的程序,如果它只是分页出最近未访问的页面,则能够为所需内存创
bad_alloc
,而不是页面错误和交换一些页面?这不是分页和虚拟内存应该解决的问题之一吗
我应该能够运行需要大于8GB内存的程序,如果它只是分页出最近未访问的页面,则能够为所需内存创建新页面
有人能解释一下吗
我的机器有一个8GB的页面文件 什么操作系统?您总共有多少ram+交换 在运行一段时间后,是否尝试分配单个连续的8Gb区域?通常是个坏主意
请参见内存分配中还有其他问题:
可能还有更多类似的问题我没有列出什么操作系统?什么是超限制设置?我有Win7 Home Premium 64位,我在哪里可以找到超限制设置?这是一个用户程序,不是海报上写的东西-建议移动到超级用户?@MartinBeckett,从程序员的角度来看,这也是一个有趣的问题。@TonyTheLion-是的,但是如果你不能控制alloc,你就不能真正修复它。可能有用户设置可以更改-超级用户是询问thoseI的最佳位置我有8GB的物理RAM和8GB的交换文件我不太确定程序要分配什么,它是一个进行高分辨率图像编辑的程序,因此如果它在内存中加载这些,这就需要memory@TonyTheLion-我们假设您正在编写软件(就是这样),试图在一个块中分配8Gb,而只有16Gb可用空间是行不通的。尝试增加交换文件的大小-很多