可以在64位Windows操作系统32位进程访问更多的内存? [英] Can a 32bit process access more memory on a 64bit windows OS?

查看:217
本文介绍了可以在64位Windows操作系统32位进程访问更多的内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

据我了解,一个32位进程只能访问2GB的内存在32位窗口没有/ 3GB开关以及一些内存是采取了由操作系统为自己的凶残的原因。这似乎与我的经验,网,因为我们有一个应用程序,当它达到约1.2崩溃 - 1.5 GB的与内存不足异常内存,即使仍然有大量的可用内存。

From what I understand, a 32bit process can only access 2GB of memory on 32bit windows without the /3GB switch, and that some of that memory is taken up by the OS for its own diabolical reasons. This seems to mesh with my experiences as we have an app that crashes when it reaches around 1.2 - 1.5 GB of RAM with out of memory exceptions, even though there is still plenty of memory available.

我的问题是,会提出这个32位的应用程序,以64位的窗户让它比1.5GB访问更多左右的内存就可以了吗?或者将应用程序本身必须升级到64位?

My question is, would moving this 32bit app to 64bit windows allow it access more than the 1.5GB or so memory it can now? Or would the app itself have to be upgraded to 64bit?

推荐答案

新版本有一个新的标志,它使32位应用程序的大地址空间感知。基本上它是说,如果它在64位版本的Windows加载,那么它会得到4GB(32位指针的限制)。这肯定比2或3 GB你在32位版本的Windows更好。请参见 http://msdn.microsoft.com/en-us/library/aa366778。 ASPX

Newer versions of Visual Studio have a new flag which make 32-bit apps "big address space aware". Basically what it does is say that if it's loaded on a 64-bit version of windows, then it will get 4GB (the limit of 32-bit pointers). This is certainly better than the 2 or 3 GB you get on 32-bit versions of windows. See http://msdn.microsoft.com/en-us/library/aa366778.aspx:

最值得注意的是这样说的:

Most notably it says:

内存和地址空间限制   因平台而异,操作系统,   以及是否由   IMAGE_FILE_LARGE_ADDRESS_AWARE值   所述LOADED_IMAGE结构和   4-GB的调整(4GT)都在使用。   IMAGE_FILE_LARGE_ADDRESS_AWARE设置   或清除使用   / LARGEADDRESSAWARE链接器选项。

Limits on memory and address space vary by platform, operating system, and by whether the IMAGE_FILE_LARGE_ADDRESS_AWARE value of the LOADED_IMAGE structure and 4-gigabyte tuning (4GT) are in use. IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by using the /LARGEADDRESSAWARE linker option.

另请参见: http://msdn.microsoft.com/en-us /library/wz223b1z.aspx

这篇关于可以在64位Windows操作系统32位进程访问更多的内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆