1

My laptop has Windows 7 x64 running on a triple-core AMD Phenom. Every time I have a 32-bit process go crazy and use 33% CPU (i.e., 100% on one core), every single other 32-bit process becomes unresponsive, while the 64-bit processes all hum along just fine, presumably on the other two cores. The only explanation I can think of for this is that WoW64 runs all 32-bit apps on a single core. Is that the case, or is it something else? And if so, is there any way to make it split them up like a good little multicore system should?

Thanks!

3
  • 2
    Educated guess, but only an educated guess: while the individual apps obviously run in their own threads, probably WoW64 itself isn't quite as isolated, so bad activity in one process can cause havoc to anything down the chain.
    – Shinrai
    Feb 20, 2012 at 20:52
  • Is it one particular 32bit process "going crazy"? Or will any 32bit process cause this?
    – Moab
    Feb 21, 2012 at 3:52
  • @Moab: It doesn't matter which one spikes (although it's usually Firefox). Feb 21, 2012 at 6:19

1 Answer 1

1

For clarity, the primary difference between 32-bit and 64-bit affects addressable RAM, and should not be related to multi processing.

Applications need to be developed and compiled to support multithreading properly. It is likely that the 32-bit applications you are seeing the issues with do not multithread very well, or depend on a process that does not multithread very well.

6
  • 1
    That is true as far as architecture goes, but Windows x64 does run 32-bit programs under some sort of emulation mode. So I'm not sure if this is the answer (though it does sound plausible). Feb 20, 2012 at 22:08
  • sidran - yes, that is correct. Most 64-bit OSes can run both 32-bit and 64-bit applications. But this is unrelated to multi-threading, as I said.
    – Joshua
    Feb 20, 2012 at 22:42
  • 1
    Though I would have thought that even if an application is single-threaded, the OS would be smart enough to schedule it onto a free core. This is why I commented. The nature of how Windows schedules 32-bit emulated code may be different than how Windows schedules native 64-bit code. Feb 21, 2012 at 0:20
  • Right, that's what I was asking: does WoW64 segregate all 32-bit code running on the system to a single core? I know "bitness" doesn't have to do with multithreading, but the fact that one swamped process takes down all the other 32-bit processes is very suspect. Feb 21, 2012 at 4:53
  • 1
    @Josh - I think Jarett understands that, but the trouble is that this explanation still doesn't really explain why ONE thread hanging will cause trouble in OTHER, completely unrelated, threads. The only common link, if I'm understanding the complaint correctly, is that they're all 32-bit processes.
    – Shinrai
    Feb 21, 2012 at 17:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .