I also found the i7z utility for reporting CPU speed, apparently including Turbo Boost speed:
http://code.google.com/p/i7z/
(You'll need to install libncurses5-dev from the repository before making this).
This tool seems to work great. Here is sample output:
Code:
Cpu speed from cpuinfo 2192.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2192 MHz
CPU Multiplier 22x || Bus clock frequency (BCLK) 99.64 MHz
Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]
TURBO ENABLED on 4 Cores, Hyper Threading ON
True Frequency 2291.64 MHz (99.64 x [23])
Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is 33x/32x/30x/30x
Current Frequency 2192.35 MHz (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % Temp
Core 1 [0]: 2192.07 (22.00x) 8.44 84.4 6.13 1 309
Core 2 [2]: 2192.35 (22.00x) 1 98.7 1 0 308
Core 3 [4]: 2191.95 (22.00x) 1.39 96 1.58 1 306
Core 4 [6]: 2192.00 (22.00x) 100 0 0 0 311
C0 = Processor running without halting
C1 = Processor running with halts (States >C0 are power saver)
C3 = Cores running with PLL turned off and core cache turned off
C6 = Everything in C3 + core state saved to last level cache
Above values in table are in percentage over the last 1 sec
[core-id] refers to core-id number in /proc/cpuinfo
'Garbage Values' message printed when garbage values are read
Ctrl+C to exit
It shows that the max CPU speed is 33x of 100 MHz, which should be 3.3 GHz. However, I still never see the speed crack 2.2 GHz under load.
One other interesting quirk: I had disabled hyper-threading in the BIOS because I was seeing some undesirable behavior when running multiple compute jobs simultaneously (sometimes the jobs would get 50% of a CPU instead of 100%, even with 4 or fewer jobs running). With hyper-threading disabled all cores were always running 2.2 GHz and never throttling down with no load. With hyper-threading enabled, each core tends to run in the 800-1600 MHz range when not under load, and then with one compute job running all cores crank up to 2.2 GHz, even the ones not under load. Weird.
Still, I never see any more than 2.2 GHz on any one core.
Seems like maybe proper Sandy Bridge support is lacking in the 2.6.38-8 kernel?
Bookmarks