返回信息流☆─────────────────────────────────────☆
wx11yaoming (火箭升空) 于 (Mon Jan 18 13:03:12 2010) 提到:
求租各位:
我的程序有八个子线程,每个子线程会申请堆内存225m,该程序一运行就会报错,run time error!程序自动关闭,
1.请问是否是由于开辟堆内存太大,windows不允许?
2.windows分配给一个进程的内存空间是否是固定大小的?
3.分配给一个进程的内存空间和物理内存、虚拟内存大小有什么关系?
谢谢各位了!
☆─────────────────────────────────────☆
coolwc (小包) 于 (Mon Jan 18 13:05:28 2010) 提到:
90%可能性是你程序写的有问题
分配给进程的内存空间与虚拟内存有关系 32位系统是4G 但是其中要拿出一部分给kernel
物理内存与这个没有一丁点关系
☆─────────────────────────────────────☆
FadeToBlack (拜萝卜教 | gfw nmb) 于 (Mon Jan 18 13:30:24 2010) 提到:
: 1.请问是否是由于开辟堆内存太大,windows不允许?
每次VirtualAlloc时判断一下分配是否成功,然后再看是不是申请内存过大的原因
: 2.windows分配给一个进程的内存空间是否是固定大小的?
windows x86下内存空间有限制,因为用户态的内存地址范围在0x0001 0000~0xEFFE FFFF。
如果超出范围请手工swap。(如果需要更大范围请用x64或x86 3GB mode)
: 3.分配给一个进程的内存空间和物理内存、虚拟内存大小有什么关系?
这个是操作系统的事情
☆─────────────────────────────────────☆
coolwc (小包) 于 (Mon Jan 18 13:33:07 2010) 提到:
win32下就是这样了
【 在 FadeToBlack 的大作中提到: 】
: 每次VirtualAlloc时判断一下分配是否成功,然后再看是不是申请内存过大的原因
: windows x86下内存空间有限制,因为用户态的内存地址范围在0x0001 0000~0xEFFE FFFF。
: 如果超出范围请手工swap。(如果需要更大范围请用x64或x86 3GB mode)
: ...................
☆─────────────────────────────────────☆
jmpesp (民国沉思者...) 于 (Mon Jan 18 14:30:28 2010) 提到:
【 在 wx11yaoming 的大作中提到: 】
: 求租各位:
: 我的程序有八个子线程,每个子线程会申请堆内存225m,该程序一运行就会报错,run time error!程序自动关闭,
: 1.请问是否是由于开辟堆内存太大,windows不允许?
: ...................
算下这个 你的磁盘交换文件的大小+真实的物理内存大小 如果总和小于 你申请的堆内存的总和8X225=1.8G的话,那必败无疑了 至于为什么是这样 你可以自己多思考下
☆─────────────────────────────────────☆
coolwc (小包) 于 (Mon Jan 18 15:09:14 2010) 提到:
直接发程序出来比较好
☆─────────────────────────────────────☆
white127 (瓜牛) 于 (Mon Jan 18 18:46:01 2010) 提到:
虚拟内存和物理内存之间是映射关系,虚拟内存只有映射到物理内存才能使用
【 在 wx11yaoming 的大作中提到: 】
: 求租各位:
: 我的程序有八个子线程,每个子线程会申请堆内存225m,该程序一运行就会报错,run time error!程序自动关闭,
: 1.请问是否是由于开辟堆内存太大,windows不允许?
: ...................
☆─────────────────────────────────────☆
guying (宙斯) 于 (Thu Jan 21 12:12:47 2010) 提到:
windows 进程能用的虚拟内存貌似只有2G 你的程序就申请了1.8G
☆─────────────────────────────────────☆
xieys (枫叶/兄弟会堂主/借楼同征外援) 于 (Thu Jan 21 18:32:30 2010) 提到:
我想堆内存和栈内存都是有限的吧
☆─────────────────────────────────────☆
ericyosho (ericyosho) 于 (Thu Jan 21 22:14:38 2010) 提到:
225M,一个线程可以放个高清小电影了。
这是一条镜像帖。来源:北邮人论坛 / soft-design / #38056同步于 2010/4/16
SoftDesign机器人发帖
[合集] 求助,多线程申请堆内存
FadeToBlack
2010/4/16镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。