64 位操作系统 (windows) 上的 32 位应用程序
我需要一些帮助来了解 32 位应用程序如何在 64 位操作系统上使用内存。
32 位应用程序可以在 64 位操作系统上使用 2 GB 内存,对吗? 这是否意味着并行运行的 3 个 32 位应用程序可以寻址 6 GB 内存...... 或者 3 个 32 位应用程序是否必须共享操作系统拥有的 2-4 GB 32 位内存?
同样,如果我有一个编译为 32 位的 Web 服务,在 64 位计算机上的 IIS 下运行。只要对该 Web 服务的单个请求始终保持在 2GB 以下的内存使用量,重新编译为 64 位还有什么意义吗?我的理论是,IIS 为每个请求创建一个新进程,因此整个进程池将能够利用 64 位计算机拥有的所有内存,8 或 15 或 20 GB 或其他。
让我知道你的想法,谢谢
I need some help understanding how 32 bit applications use memory on a 64 bit OS.
A 32 bit application can use 2 gb of memory on 64 bit OS, correct?
Does this mean that 3 32 bit applications running in parrallel could address 6 gb of memory...
Or do the 3 32 bit applications have to share the 2-4 gb of 32 bit memory that the os has?
Likewise, If I have a webservice that is compiled as 32 bits, running under IIS on a 64 bit machine. As long as a single request to that webservice always stays under 2gb of memory usage, is there any point in recompiling to 64 bit? My theory is that IIS creates a new process for each request, so the whole pool of processes will be able to make use of all the memory the 64bit machine has , 8 or 15 or 20 gig or whatever.
Let me know your thoughts, thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,所有 32 位程序的总使用量可以超过 2 GB。所以,是的,您可以拥有一堆 32 位进程,使用 64 位计算机中的所有内存。
实际上,有一个编译器选项可以让 32 位程序在 Windows 中使用最多 3GB 的内存。
如果性能不重要,那么就没有太多理由使用 64 位。
Yes, the total usage of all the 32-bit programs can exceed 2 GB. So yes you can have a bunch of 32-bit processes using all the memory in a 64-bit machine.
Actually, there's a compiler option that lets 32-bit programs use up to 3GB in Windows.
If performance isn't important, then there isn't much of a reason to use 64-bit.