I need some help understanding how 32 bit applications use memory on a 64开发者_如何学JAVA 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
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.
精彩评论