System load viewer: reported CPU frequency misleading
Jump to:
Project: | Linux hardware |
Component: | Documentation |
Category: | support request |
Priority: | normal |
Assigned: | Unassigned |
Status: | active |
Project wiki: | Hardware |
Related pages: | #36: CPU - Central Processing Unit :-:-: #37: KDE System Load Viewer widget |
Description
I have a phenom II CPU whose frequency is variable, according to system load.
I do see the frequency change according to what I am doing, but I have never seen it go to its full potential speed, even when I do cpu intensive tasks (blender rendering, dar archive encryption...).
Why doesn't it go full speed?
Can we force it to boost to the maximum manually?
Comments
#1
cat /proc/cpuinfo
AMD Phenom(tm) II X4 955 Processor
which is advertised as having a maximum frequency of 3.2 GHz.
Usually is is iddle at 800Mhz, but the maximum I've seen it go is 2200 Mhz.
#2
http://en.wikipedia.org/wiki/Cool'n'Quiet
Cool'n'Quiet is a CPU speed throttling and power saving technology introduced by AMD with their Athlon 64 processor line. It works by reducing the processor's clock rate and voltage when the processor is idle. The aim of this technology is to reduce overall power consumption and lower heat generation, allowing for slower (thus quieter) cooling fan operation.
Cool'n'Quiet is fully supported in Linux from 2.6.18 and FreeBSD from 6.0-CURRENT onward (using the powernow-k8 driver)
#3
# cpufreq-info
The program 'cpufreq-info' is currently not installed. You can install it by typing:
apt-get install cpufrequtils
cpufreq-info: command not found
Hmmm. It was not installed by default.
#4
# cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0
hardware limits: 800 MHz - 3.20 GHz
available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
cpufreq stats: 3.20 GHz:16.93%, 2.50 GHz:0.73%, 2.10 GHz:3.75%, 800 MHz:78.59% (1579843)
analyzing CPU 1:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 1
hardware limits: 800 MHz - 3.20 GHz
available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
cpufreq stats: 3.20 GHz:13.22%, 2.50 GHz:0.55%, 2.10 GHz:2.68%, 800 MHz:83.55% (1259917)
analyzing CPU 2:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 2
hardware limits: 800 MHz - 3.20 GHz
available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
cpufreq stats: 3.20 GHz:14.40%, 2.50 GHz:0.42%, 2.10 GHz:3.19%, 800 MHz:81.99% (1555634)
analyzing CPU 3:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 3
hardware limits: 800 MHz - 3.20 GHz
available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 2.10 GHz (asserted by call to hardware).
cpufreq stats: 3.20 GHz:11.07%, 2.50 GHz:0.53%, 2.10 GHz:2.39%, 800 MHz:86.01% (972537)
#5
wiki.
#6
I am using the KDE4 "system load viewer" widget on my desktop, and it is it that usually gives me the information about the current load.
What I usually observe with the widget does not correspond to the data above, namely:
available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
These are not the stepping I observe. I'll try to make a list of observed steps here: 800, 1125, 1400, 1450, 1725, 2000, ...
cpufreq stats: 3.20 GHz:16.93%, 2.50 GHz:0.73%, 2.10 GHz:3.75%, 800 MHz:78.59%
Well, I have never seen 3.20 GHz, let alone 17% of the time!
#7
The unit in the widget is actually Mhz/CPU... yet I think all 4 cores have the same frequency no matter what...
#8
Oh!
Apparently, it is not so: cores can have different frequencies. At a time of high load, I caught this:
# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 955 Processor
stepping : 2
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 6427.84
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
processor : 1
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 955 Processor
stepping : 2
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 6429.06
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
processor : 2
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 955 Processor
stepping : 2
cpu MHz : 3200.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 6429.06
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
processor : 3
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 955 Processor
stepping : 2
cpu MHz : 3200.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 6429.06
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
Note the different frequencies: 800, 800, 3200 and 3200.
The widget is misleading!
#9
wiki.
#10
Document what I found above.
The problem is with the widget.
#11
#38: Is dar multi-threaded?