Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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!

share|improve this question
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 '12 at 20:52
    
Is it one particular 32bit process "going crazy"? Or will any 32bit process cause this? –  Moab Feb 21 '12 at 3:52
    
@Moab: It doesn't matter which one spikes (although it's usually Firefox). –  Jarett Millard Feb 21 '12 at 6:19

1 Answer 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.

share|improve this answer
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). –  Ben Richards Feb 20 '12 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 '12 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. –  Ben Richards Feb 21 '12 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. –  Jarett Millard Feb 21 '12 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 '12 at 17:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.