如何让操作系统分配给程序更多的内存

z98431227 2004-07-26 11:18:42
rt,正在做一个完成端口的程序,需要程序启动时即分配约30M的内存,
可是有时候程序会出现虚拟内存不足的提示,这该怎么办?
有文章说可以用SetWorkingSetSize让操作系统分配给程序更多的物理内存,
可是我在msdn里查了一下,没发现这个api 各位有什么好办法没有
...全文
831 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
z98431227 2004-07-29
  • 打赏
  • 举报
回复
哈哈 楼上方法不错
lion1900 2004-07-29
  • 打赏
  • 举报
回复
瘟系统对每个进程分配一个内存页面,所以。。。。。你还是使用内存映射文件吧。
如何强制系统分配物理内存,也恳请高人给出方法。有个快捷的方法,就是去买一条512MB内存条,先。
z98431227 2004-07-29
  • 打赏
  • 举报
回复
再顶一下 还是有些不明白~~~~
没人回帖 就不顶了
z98431227 2004-07-28
  • 打赏
  • 举报
回复
在一片文章上看到的:
虚拟内存的使用也必须很小心地管理。通过谨慎地申请和释放内存,或者应用lookaside lists(一种高速缓存)技术来重新使用已分配的内存,将有助于控制服务器应用程序的内存开销(原文为“让服务器应用程序留下的脚印小一点”),避免操作系统频繁地将应用程序申请的物理内存交换到虚拟内存中(原文为“让操作系统能够总是把更多的应用程序地址空间更多地保留在内存中”)。你也可以通过SetWorkingSetSize()这个Win32 API让操作系统分配给你的应用程序更多的物理内存。
它这里面有句话说可以让操作系统分配给应用程序更多的物理内存??是不是操作系统分配给程序的物理内存都是固定的一个值??
tabris17 2004-07-27
  • 打赏
  • 举报
回复
楼主的理解有错误


是否是分页内存,也就是楼主所说的“物理内存”,在user mode下是不可见的


如果系统提示“虚拟内存不足”,应该在“我的电脑-属性-高级-性能选项-虚拟内存"中设置
gunj 2004-07-27
  • 打赏
  • 举报
回复
virtualAlloc(PVOID pvAddress,SIZE_T dwSize,DWORD fdwAllocationType,DWORD fdwProtect),其中第三个参数可以告诉系统是保留一个区域还是提交物理存储器,详见
<<windows 核心编程>>
z98431227 2004-07-27
  • 打赏
  • 举报
回复
呵呵 顶一下~~~~
z98431227 2004-07-26
  • 打赏
  • 举报
回复
楼上的方法不行吧 我是想让操作系统分配给程序更多的物理内存 这样就不会出现虚拟内存不足的信息,最好能不使用虚拟内存.内存映射文件不还得和硬盘打交道
名牌大灰狼 2004-07-26
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=1154
http://www.vckbase.com/document/viewdoc/?id=1156
http://www.yesky.com/20030117/1649013.shtml

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧