运行在64位操作系统上的32位程序是否能够使用超过4GB的内存?32位程序可以在64位操作系统上使用多于4GB的内存吗?
11
A
回答
0
只有将4GB范围的内存明确映射到其地址空间中。
2
简短的回答是:是的。 较长的答案取决于。有一个硬件支持页面重新映射,它基本上为您的程序提供了一个将几页的窗口放入更大的内存区域。 然而,这个窗口应该由程序本身管理,并且不会从内存管理器获得支持。有些程序可以在Windows上像SQL一样执行。 但是,一般来说这是一个坏主意,程序应该限制自己的4GB或移动到64位:)
1
通常你只限于2GB的地址空间,其中你所有的分配及其开销,碎片等,必须与内存映射文件(包括您的程序和它使用的DLL)一起使用。这有效地限制你1.5GB。
对于特殊的配置,例如, /3GB,你可以使2GB以上的应用程序可用,但这样做会抢劫空间的内核,导致文件缓存,处理容量等。
在Win32上,你可以使用更多的PAE support,但它是不透明,你必须自己管理它。
相关问题
- 1. 在64位操作系统上运行的32位程序内存消耗
- 2. 32位进程可以在64位Windows操作系统上访问更多内存吗?
- 3. 64位操作系统上的32位或64位应用程序?
- 4. Windows 64位操作系统上的32位或64位Android SDK?
- 5. 在64位操作系统上使用Web Garden的32位应用程序的IIS6可用内存(32Gb Ram)
- 6. 我可以在64位操作系统上安装32位jvm吗?
- 7. 32位/ 64位操作系统?
- 8. 32位应用程序的64位操作系统
- 9. 在64位操作系统上以32位身份运行AnyCPU应用程序
- 10. 32位程序实际上是否在64位操作系统上使用更多内存?
- 11. 在64位操作系统上编写程序时,程序是否会运行在32位操作系统上?
- 12. 在64位操作系统上启动32位进程
- 13. 64位操作系统上的32位VC++可再发行?
- 14. 在64位操作系统上的进程内wmi提供程序(32位)中加载本机DLL(32位)
- 15. 我可以在32位系统上运行在64位系统上开发的C#应用程序吗?
- 16. 安装在64位操作系统上的Windows 32位Eclipse?
- 17. 在64位架构上的32位操作系统
- 18. 是否可以在64位操作系统中使用32位STS?
- 19. 在32位操作系统中使用64位dll
- 20. java 9可以在32位操作系统上运行吗?
- 21. JNA在64位操作系统上具有32位JVM
- 22. 在64位操作系统上调试32位CASSINI(Oracle 9)
- 23. 在64位服务器上加载32位dll操作系统
- 24. 在32位操作系统上运行64位jvm
- 25. 关于64位和32位的Mac操作系统
- 26. 64位操作系统上的32位ActiveX DLL的问题
- 27. 64位操作系统内存分配
- 28. 32位操作系统VC++应用程序迁移到64位操作系统VC++应用程序
- 29. 64位系统上的32位应用程序的内存分配限制
- 30. 64位Java应用程序:是64位操作系统,64位JRE和64位应用程序吗?
这也取决于机器/处理器和操作系统。 – 2011-05-06 21:06:26
[应用程序无法在64位处理器上访问超过4 GB的可能副本](http://superuser.com/questions/69480/application-cannot-access-more-than-4-gb-on-64-bit-处理器) – 2011-05-06 21:11:38
此链接可能是有用的: http://stackoverflow.com/questions/5916959/can-a-32-bit-program-use-more-than-4gb-of-memory-on-a-64-位操作系统 – Hasan 2017-05-18 12:31:17