how can we reach to CPU max MHz?

Issues related to hardware problems
Post Reply
jizh
Posts: 11
Joined: 2018/12/26 06:27:45

how can we reach to CPU max MHz?

Post by jizh » 2019/05/28 06:40:24

My CPU is
Model name: Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
Stepping: 1
CPU MHz: 1200.860
CPU max MHz: 3000.0000
CPU min MHz: 1200.0000


And cpupower info as below
# cpupower frequency-info
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 - 3.00 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 1.20 GHz and 3.00 GHz.
The governor "powersave" 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


But curious why cpu MHz always reach to 2.299 as max , never reach to 3.00GHz , even if I do stress like "stress --cpu 32 --timeout 600", My kernel is 3.10.0-862.14.4.el7.x86_64
watch -n.1 'cat /proc/cpuinfo | grep -i mhz'

Thanks

prabhakarpujeri
Posts: 5
Joined: 2019/05/21 15:01:05
Location: India

Re: how can we reach to CPU max MHz?

Post by prabhakarpujeri » 2019/05/28 07:17:05

you can do two things here

1. set power governor to performance

cpupower frequency-set -g performance


2. enable CPU turbo by setting sysfs value

echo 0 > /sys/devices/system/cpu/intel_pstate/no_turbo

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: how can we reach to CPU max MHz?

Post by TrevorH » 2019/05/28 08:50:00

Your model of cpu is a 2.1GHz processor and the 3GHz speed is only reachable via turbo. Turbo only works on a limited number of cores - usually one at a time can reach the top turbo speed and the more cores you try to run at max turbo speed, the lower that speed will get. Since you tried to run all 32 cores at full speed, the max you managed to reach was 2.3GHz on a 2.1GHz processor.

If you want to see it hit 3GHz then you have to run your benchmark on one core at a time. To do that you also probably need to pin the task to one particular core or it'll get scheduled on more than one and won't necessarily reach top turbo speed.

Also, yum update = you are about 8 months out of date.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

jizh
Posts: 11
Joined: 2018/12/26 06:27:45

Re: how can we reach to CPU max MHz?

Post by jizh » 2019/05/29 03:10:20

Thanks @TrevorH

I saw it can reach to 3G when I stress only one or a few cores.

But seems we have to enable Turbo in BIOS, can't be able to echo directly. is it correct?

# echo 0 > /sys/devices/system/cpu/intel_pstate/no_turbo
-bash: echo: write error: Operation not permitted

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: how can we reach to CPU max MHz?

Post by TrevorH » 2019/05/29 08:28:32

Yes, ignore that answer as it's of no use to you. You need turbo enabled to reach turbo speeds. Without it the processor will only be able to run at its rated 2.1GHz.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

jizh
Posts: 11
Joined: 2018/12/26 06:27:45

Re: how can we reach to CPU max MHz?

Post by jizh » 2019/05/31 03:10:37

Thank you TrevorH

chemal
Posts: 776
Joined: 2013/12/08 19:44:49

Re: how can we reach to CPU max MHz?

Post by chemal » 2019/05/31 14:36:17

The exact list of turbo frequencies is

3,000 MHz (1 core),
3,000 MHz (2 cores),
2,800 MHz (3 cores),
2,700 MHz (4 cores),
2,600 MHz (5 cores),
2,500 MHz (6 cores),
2,400 MHz (7 cores),
2,300 MHz (8 cores).

https://en.wikichip.org/wiki/intel/xeon_e5/e5-2620_v4

ron7000
Posts: 162
Joined: 2019/01/15 20:00:28

Re: how can we reach to CPU max MHz?

Post by ron7000 » 2019/06/03 13:43:52

fwiw, on my home pc an asrock something (< $80 ) having an intel i7-something; in that BIOS/EFI there is a specific setting to allow run at max turbo frequency on all cores. Now that is only a single 4 core cpu, I would suspect your E5-2620 v4 being a xeon will not do something like that, although whatever server you are using check it's BIOS thoroughly for all cpu related settings.

all the crazy stuff under /sys/devices/system/ where does one go to find related info on what all is under there?

I have a server running SLES 11.4, under /sys/devices/system/cpu/ there is cpu0/ and cpu1/ to cpu127 because the server has 4 e5-4667v3 cpu's. Under any cpu#/ there is cache/ and cpufreq/ and cpuidle/ and a few more. Under cpufreq/ there is all files such as bios_limit, cpuinfo_cur_freq, cpuinfo_max_freq, scaling_governor, and a few more.

In SLES 11.4, I have no "no_turbo" and no folder named "intel_pstate".
Regarding stuff like this, is it more of a linux kernel thing or a linux vendor thing as to what will exist and be named what under /sys/ ?
Where can I go to get info on stuff like this (regarding Centos/RHEL 7.6) ?

zerofire
Posts: 16
Joined: 2019/10/11 01:41:41

Re: how can we reach to CPU max MHz?

Post by zerofire » 2019/10/14 02:34:57

Every distribution uses their own style and set of packages. This makes each distribution slightly different and mostly unique in the end even when we all use the Linux kernel. SUSE uses their own style. CentOS uses the Red Hat style and repackaged versions of open source packages used by Red Hat Enterprise Linux. What you find in SUSE might be different than what you find in CentOS.

CentOS is designed to be used mostly via command line. If you open the terminal and type "cpupower frequency-info" then the cpupower module will give you all of the info from the system it is run on if it is CentOS.

Post Reply