我需要一些帮助来理解32位应用程序如何在64位操作系统上使用内存。
在64位操作系统上,32位应用程序可以使用2 gb的内存,对吗?这是否意味着并行运行的3个32位应用程序可以寻址6 gb的内存……或者,3个32位应用程序是否必须共享操作系统拥有的2-4 gb的32位内存?
同样,如果我有一个被编译为32位的bit服务,它在64位计算机上的IIS下运行。只要对该2gb服务的单个请求始终保持在2 2gb以下的内存使用量,那么重新编译到64位有什么意义吗?我的理论是,IIS为每个请求创建一个新进程,因此整个进程池将能够利用64位机器拥有的所有内存,8、15或20 gig或任何其他内存。
让我知道你的想法,谢谢
发布于 2011-09-02 14:18:49
是的,所有32位程序的总使用量可以超过2 GB。所以,是的,你可以让一堆32位进程使用64位机器中的所有内存。
实际上,有一个编译器选项可以让32位程序在Windows中使用最多3 3GB的空间。如果性能不重要,那么使用64位就没有太多的理由。
https://stackoverflow.com/questions/7279823
复制相似问题