为什么/ proc / cpuinfo显示与处理器速度相矛盾?

在运行Gentoo Linux(3.1.6,x86_64)的系统上,我有两个六核Intel Xeon CPU(X5675)。

cat /proc/cpuinfo正确显示我12个处理器。 但是,我不明白为什么模型名称行中的处理器速度与CPU的MHz数不同:

 processor : 11 vendor_id : GenuineIntel cpu family : 6 model : 44 model name : Intel(R) Xeon(R) CPU X5675 @ 3.07GHz stepping : 2 cpu MHz : 1600.000 cache size : 12288 KB physical id : 1 siblings : 6 core id : 10 cpu cores : 6 apicid : 52 initial apicid : 52 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm ida arat epb dts tpr_shadow vnmi flexpriority ept vpid bogomips : 6133.17 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: 

编辑: htop显示100%的所有处理器,平均负载是24.66 24.33 24.67 。 所以似乎没有一个处理器空转。 但是, watch -n5 "cat /proc/cpuinfo | grep MHz"显示前六个内核总是在3067MHz,而内核7-12总是在1600MHz。 我感到困惑。 我不是这些机器的系统pipe理员,但在我开始窃听我们的系统pipe理员之前,我想确定这不是预期的行为。 有什么方法可以找出SpeedStep是否启用, 而不进入BIOS,即非root权限?

EDIT2:根据要求,我发布了/proc/cpuinfo的完整输出: https : //gist.github.com/4683911

型号名称中的处理器速度是处理器型号名称的一部分。 处理器的实际名称是“Intel(R)Xeon(R)CPU X5675 @ 3.07GHz”。

“cpu MHz”行中的处理器速度是当前的 CPU时钟速度。

据推测,目前CPU并不是非常繁忙,而且运行速度很慢,以节省能源和保持冷静。 如果你超频的CPU,“CPU MHz”线的速度可能会高于模型名称的速度。 如果你给系统做了一些工作,他们可能是平等的。

您的处理器被称为Intel(R)Xeon(R)CPU X5675 @ 3.07GHz,并包含称为Intel SpeedStep的技术。

当CPU没有工作时,Speedstep会降低CPU的时钟频率。 这主要是省电function,通常可以在BIOS中closures。

获取详细的处理器信息的一种方法是在不重新启动机器的情况下使用dmidecode

  dmidecode --type Processor 

工作中也有可能存在外力。 特别是像英特尔节点pipe理器,它将通过调整处理器P状态来调整主机的功耗。

要检查这是否有效,请参阅/ proc / acpi / processor / * / info。 另见http://acpi.sourceforge.net/documentation/processor.html