Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Problem

After rebooting, and with only Activity Monitor open, my MacBook Pro (10.6, i7) shows a very high idle % (98% or higher) but then shortly after drops down to 40% - 50%.

In the Activity Monitor list of all processes:

  • nothing accounts for this drop.

Five questions

What is the reason for the drop in the idle percentage?

Does OS X run something that is not listed as a process in Activity Monitor?

Does it shut a CPU or two down?

Is there a way to force it to give me the full attention of the CPU, even though I'm not using it?

For what's below, are there better ways to measure how much total system impact an app has, since the app cpu% doesn't show all the secondary activity an app causes a system to complete?

Background

I'm trying to measure the performance of a particular app, and one of the metrics, since some of the app activity is performed inside the kernel in the form of system calls, is CPU idle %.

If OS X runs stuff in the background I can't see, or turns CPUs off or slows them down, then it obviously impacts my measurements.

share|improve this question
    
Why don't you look at the load of the running processes and determine what is using your processor? And by extension, why don't you check that for the app in particular? –  Gerry Feb 20 '12 at 16:09
1  
@Gerry I suppose I didn't make it clear in my post - I'm taking into account all the CPU usage of all the running processes as presented by activity monitor. They don't add up to anywhere near 10%, nevermind the 50-60% that the CUP idle time suggests they should. –  Adam Davis Feb 20 '12 at 16:11
1  
Have to ask, do you have 'All Processes' selected in AM? –  KidPub Feb 20 '12 at 16:17
1  
@KidPub Yes, I am viewing All Processes. –  Adam Davis Feb 20 '12 at 16:23
1  
Using /Library/Application Support/HWPrefs/CPUPalette.app and disabling two cores gives me the same symptoms, so I'm guessing that OS X is aggressively throttling the CPUs. If you know how to disable CPU throttling, or control it, check out apple.stackexchange.com/questions/41045/… –  Adam Davis Feb 20 '12 at 16:53
add comment

2 Answers

up vote 1 down vote accepted

Testing seems to show that the culprit is Intel's Turbo Boost technology, which disables processor cores on the fly without telling the OS. Since they aren't running the CPU idle process, activity monitor doesn't account for them, and it appears that the machine is under 50% idle when the reality is that it's near 100% idle.

At the moment it doesn't appear as though this can be easily disabled or controlled under OS X: How can I disable CPU throttling and CPU disabling?

Turbo boost is built into many Core i7 and i5 processors, and some of the latest Core i3 processors. You will have to check your processor version against intel's list of Turbo Boost capable processors to find out if yours has it. If you don't have sandy bridge, you probably don't have turbo boost.

share|improve this answer
add comment

By default, the activity monitor shows only the processes running under your user account and not system tasks as well as tasks by other users of the machine.

enter image description here

Selecting another view from the toolbar control should help in knowing what is taking CPU time on your mac. I highly recommend getting Xcode from the app store and using Instruments to do any advanced profiling and tuning. It's a far more capable tool for that job once you've noticed something amiss using Activity Monitor.

share|improve this answer
    
I am viewing All Processes. It does not show anything that consumes the cpu time suggested by the idle %. –  Adam Davis Feb 20 '12 at 16:24
1  
Wow - there is an interesting edge case where any process that starts after a sample interval, yet dies before the next sample interval will not be captured by Activity Monitor. You will need dtrace or instruments to get at dead processes. I usually try fs_usage to hope that these rapid processes are accessing a file of some sort to figure out which offender is causing the real, but phantom in the eyes of Activity Monitor type CPU usage. –  bmike Feb 20 '12 at 16:29
add comment

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.