Core Duo - only one cpu being used
Scott Long
scottl at samsco.org
Fri May 5 04:45:03 UTC 2006
Erich Dollansky wrote:
> Hi,
>
> Eric Anderson wrote:
>
>> Erich Dollansky wrote:
>>
>>> Hi,
>>>
>>> Eric Anderson wrote:
>>>
>>>>
>>>> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU
>>>> COMMAND
>>>> 11 root 1 171 52 0K 8K CPU1 0 0:00 99.02%
>>>> idle: cpu1
>>>> 2653 root 1 128 0 18564K 17560K RUN 0 0:01 34.00%
>>>> cc1plus
>>>
>>>
>>> could it be that it is just a problem with top itself?
>>>
>>> It cannot be that CPU1 uses 99% for the idle process and 34% for the
>>> compiler.
>>>
>>> Play with the other sort options. You might find the the idle process
>>> for CPU0.
>>
>>
>> Is this what you want:
>>
>> $ ps -auxw | grep idle
>> root 11 99.0 0.0 0 8 ?? RL 7:45PM 0:00.00
>> [idle: cpu1]
>> root 12 0.0 0.0 0 8 ?? RL 7:45PM 51:04.57
>> [idle: cpu0]
>>
> something is really wrong here. CPU1 gets 99% of the time but uses then
> only 0 seconds while CPU0 gets 0% of the time but uses 51 hours?
CPU1 is being treated as a hyperthreading core instead of a real core,
and is being disabled per our policy on Intel hyperthreading. By
'disabled' I mean that it is started, but it is being excluded from
scheduling decisions, and thus is only running its idle proc. It's
also handling any interrupts that come to it, such as timer and IPI
interrupts, so it's at 99% instead of 100% for the idle proc. There
is nothing broken about the number you are seeing, your system is
just running under a scheduling policy that it should not be.
This should have been fixed a week or so ago by a commit to HEAD,
RELENG_6, and RELENG_6_1 by Colin Percival. How old is kernel?
Scott
More information about the freebsd-hackers
mailing list