3

I manage a dedicated remote SuperMicro SYS-2028TP-HC1R server with two Octa-Core E5-2620 V4 2.1GHz processors (HT, 32 threads), 32 GB RAM, 2 SDD of 480GB in RAID 1, running Ubuntu Server 16.04, and do not have BIOS access.

When I consult the governor with the command

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

It shows me powersave.

I require the highest processing speed for MySQL Server 5.7 running on this server, so I don't know if it's necessary to change the governor to performance or another, or leave it like this.

2 Answers2

0

I sure would. You can do that in your BIOS, if you have access to it, which you launch with F2 after the POST completes.

A good description of your options is shown at

https://www.thomas-krenn.com/en/wiki/Disable_CPU_Power_Saving_Management_in_BIOS

Once you get into the BIOS/Firmware settings, choose

-> Advanced CPU Configuration
-> Advanced Power Management Configuration

Change Power Technology to Custom and 
Energy Efficient Turbo to Disable.

Switch to CPU P State Control, 
deactivate EIST (P-States) and 
Turbo Mode.

Then switch to CPU C State Control, 
change Package C State Limit to C0/C1 state and 
deactivate CPU C3 Report, CPU C6 Report and Enhanced Halt State (C1E).

Then, save and exit from the BIOS and boot. 
K7AAY
  • 17,202
  • 1
    Disabling idle states can cost energy, potentially a lot of energy. It should be traded off against latency requirements, as waking CPUs from deep idle states does take some time. However, disabling idle states can also be done from the command line, no need to involve BIOS. I'll edit my answer for this option. – Doug Smythies Nov 08 '19 at 00:23
  • 1
    I can't enter the BIOS, because the server is hosted with a remote provider and doesn't give me access. – Jesus RC Nov 08 '19 at 16:38
  • Oh, bother. Use Doug's solution. – K7AAY Nov 08 '19 at 16:56
0

You should just try it both ways. It'll cost you some energy if you use the performance governor instead of the default (for the intel_pstate scaling driver) powersave, but the response time will be a little better.

You can manage things with the basic primitive commands rather than higher level tools. As sudo do:

# for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "powersave" > $file; done

or

# for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "performance" > $file; done

Now, if for some reason, you need your system to be able to respond incredibly quickly from an idle state, then consider disabling the deepest idle states, but be aware that it definitely costs energy. I do not know your deepest idle state, this example is for my processor, where idle state 4 is the deepest. Again as sudo:

# for file in /sys/devices/system/cpu/cpu*/cpuidle/state4/disable; do echo "1" > $file; done

For my system, when idle, the cost is 25% more processor package power.

Doug Smythies
  • 15,448
  • 5
  • 44
  • 61
  • That's 25% * 85W * 2 or 42.5 watts/hour, no? Don't know what you pay for power, but here's a list state by state for residential power costs https://www.electricchoice.com/electricity-prices-by-state . – K7AAY Nov 08 '19 at 00:47
  • @K7AAY : No, I'm talking idle here, which for my processor is 3.7 watts, while TDP is 95 watts (i7-2600K). If I disable idle state 4 (my deepest) it goes to 4.9 watts; Also disable state 3 goes to 8.7 watts; state 2 9.6 watts; state 1 52 watts. – Doug Smythies Nov 08 '19 at 00:57
  • "performance" govnernor will tell CPU to keep at highest frequencies, and disabling C states will prevent CPU going to sleep.

    Theoratically this will max out the CPU peformance. However, if your server's thermal budget is not enough, thermal mitigation will still cripple you.

    – Alvin Liang Nov 08 '19 at 04:01
  • @AlvinLiang : Only disabling all idle states deeper than state 0 prevent the CPU's going to sleep at all. The deeper the idle state the less the energy. but also the worse the exit latency. But yes, possible thermal issues if all are disabled. We do not know about the OP's thermal capabilities, but my server never ever overheats. – Doug Smythies Nov 08 '19 at 04:06
  • Ok, but am I going to perceive a significant improvement in the performance of the mysql queries or am I not perceiving a significant improvement in the performance? – Jesus RC Nov 08 '19 at 16:42
  • @JesusRC : It depends on your actual requests rate and such, which is why i said to just try it. If I had to guess, I would say no, you'll end up with the disk as the bottle neck. – Doug Smythies Nov 08 '19 at 23:04