1

I have two exactly same bare metal servers with same OS/kernel configuration, but they are running at two different CPU frequencies: the one is fixed at 2300MHz, while the other changes between 1200MHz and 2300MHz. The info in sudo cpupower frequency-info is as below:

The first server:

analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "powersave" may decide which speed to use within this range.
  current CPU frequency: 2.30 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes

The second server:

analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 2.00 GHz and 2.50 GHz.
                  The governor "performance" may decide which speed to use within this range.
  current CPU frequency: 1.20 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes

And the cat /proc/cpuinfo is exactly the same, except the cpu MHz line:

processor   : 31
vendor_id   : GenuineIntel
cpu family  : 6
model       : 62
model name  : Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz
stepping    : 4
microcode   : 0x428
cpu MHz     : 2299.921
cache size  : 20480 KB
physical id : 1
siblings    : 16
core id     : 7
cpu cores   : 8
apicid      : 47
initial apicid  : 47
fpu     : yes
fpu_exception   : yes
cpuid level : 13
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 eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips    : 4004.73
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

I tried many ways which are introduced by some articles, such as sudo service cpuspeed stop,sudo cpupower frequency-set -g performance, sudo cpupower frequency-set -d 2000000, etc, but nothing happened. It seems that the CPU frequency scaling is not under control at all: the one is runing at max boosted frequency while the driver/governor says powersave, and the other is jumping from 1200MHz while the driver/governor says performance(which should limit the frequency between 2000MHz and 2500MHz).

BTW, there is no temperature throttle in both servers.

My OS is CentOS release 6.6 (Final), and kernel is 3.10.73, how can I get the control of the CPU frequency scaling things?

  • 1
    Is there anything in the BIOS that can be fiddled with? – thrig Nov 20 '16 at 16:06
  • 1
    Try Kerneloption intel_pstate=disable – user192526 Nov 20 '16 at 18:08
  • @Bahamut setting kernel option to intel_pstate=disable doesn't work, thanks though! – zhaown Nov 26 '16 at 6:50
  • Sorry for the late reply, have been through a busy week. @thrig lead me to the right direction, our server is Dell PowerEdge R620, there is a System Profile BIOS setting which can be set to DAPC/OS Control/Performance/Custom, the slow server is set to DAPC which means the CPU frequency is controlled by BIOS. When I turned the System Profile to Performance and reboot, the CPU frequency is fixed at 2300, worked like a charm! – zhaown Nov 26 '16 at 6:51
  • I believe Dell has software that can access the BIOS on some models available for redhat, to avoid having to access the console. – thrig Nov 26 '16 at 16:42
1

Hardware differences may be accounted for by BIOS settings; review the BIOS on each system for differences. This may require downtime, so is best done prior to production launch, e.g. as part of setup tasks. Some vendors provide software tools that actually run on unix to access the BIOS, if available this may be preferable to automate the proper configuration of the BIOS (see vendor website for details). Another option for configuring the BIOS may be to PXE boot the system and run an image containing the BIOS-configuring software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.