CPU Package C-State Control
Disabling CPU Package C6 state entry can improve network performance. However, this increases power usage.
Some methods to check and control C-state entry within your OS are:
Check:
cpupower monitor or cpupower idle-infoDisable C6:
cpupower idle-set -d3OR
Disable C-States:
cpupower idle-set -D0 - Disable C-states on the CPU if the server has 4th Gen Intel® Xeon® Scalable Processor(s). When Hyper Threading is enabled or disabled, disabling idle states (-D0) prevents cores from entering low-power states during idle periods and also reduces the latency for the CPU to transition between idle and active states.
- The power management of the Intel 4th Gen Intel® Xeon® Scalable Processor is extremely aggressive. To avoid cores from entering low-power states, try reducing the number of cores in use to keep them awake for longer (ethtool -L <ethX> combined <numcores>)
Enable C6:
cpupower idle-set -d3Enable C-States:
cpupower idle-set -E- Another method is to utilize the tuned tool (included with many Linux distributions) to set a performance profile. These profiles modify several OS settings that can affect performance across many applications. It has been found that the network-throughput profile provides improvement to most workloads.
Check:
tuned-adm activeSet:
tuned-adm profile network-throughput tuned service must be running for above commands. To check/restart tuned: systemctl status tuned systemctl restart tuned