MacBreakZ Help

  MacBreakZ Icon   MacBreakZ is using too much CPU!
 

MacBreakZ 5 is based on Mac OS X's most modern application architecture, the 64-bit Cocoa Runtime with Garbage Collection (really!). What you see when you look in the Activity Monitor when examing applications built on this architecture is markedly different from what you see when you examine applications built using the older architectures. Even at the best of times, understanding CPU and memory readings in the Activity Monitor is far less straight forward then you might imagine.

First of all, 50% CPU means half the CPU cycles of one core; modern Macs have between 2 and 16 cores. Secondly, you need to distinguish between idle CPU cycles and busy CPU cycles. If you have 16 cores and thus a total of 1600% CPU available and all programs togther use only 60%, you've got 1540% doing nothing. What a waste!

Funnily that's exactly what those clever Apple engineers were thinking and they are trying to find clever ways of doing something useful with all those wasted processor cycles.

Mac OS X uses idle time to do "housekeeping" and preparing things in the background just in case they migh be needed. The modern 64-bit runtime system does a lot more during idle time than the older runtimes. The "garbage collector" in particular goes and reclaims unused memory, moves memory pages around, updates its internal state, etc. The text system goes and prepares text layout, so that it's all done should it become visible on the screen, etc., etc.

The same goes for memory. If there is plenty of memory available, the 64-bit runtime will allocate a big chunk of that memory to applications that might need it at some stage in the future.

What's important to understand is that what you see when your machine is not doing much (when you are busy looking at the activity monitor to nefarious applications) has nothing to do with what happens when your machine is doing some heavy lifting. When the CPU and memory is strained, Mac OS X will automatically stop idle processing tasks, shift out memory to disk, compact memory pages, etc.

Go to the web site Tell me more