Intel CPU Frequency Limitations under Heavy Multithreaded Load in Linux Mint
Modern CPUs are designed to handle multiple tasks simultaneously, thanks to their multithreading capabilities. However, when running heavy computational workloads on a Linux Mint system with an Intel i5-13600 CPU and an all-in-one water cooler on an MSI MAG Z790 Tomahawk motherboard, you may encounter frequency limitations that can affect performance.
Understanding CPU Frequency Scaling
CPU frequency scaling is a technique used by operating systems to adjust the CPU clock speed based on the system's workload. This feature helps to conserve power and reduce heat generation when the CPU is idle or running light workloads. However, when running heavy computational workloads, the CPU frequency may be limited, leading to reduced performance.
In Linux Mint, CPU frequency scaling is managed by the cpufreq subsystem. This subsystem provides several governors that control the CPU frequency scaling algorithm. The default governor in Linux Mint is the ondemand governor, which adjusts the CPU frequency based on the current workload.
Identifying Frequency Limitations
To identify frequency limitations on your system, you can use the cpufreq-info command. This command displays detailed information about the current CPU frequency scaling configuration, including the current frequency, minimum and maximum frequency, and the governor in use.
$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
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: 4294.55 ms.
hardware limits: 800 MHz - 5.30 GHz
available frequency steps: 5.30 GHz, 5.00 GHz, 4.70 GHz, 4.50 GHz, 4.30 GHz,
4.00 GHz, 3.80 GHz, 3.60 GHz, 3.40 GHz, 3.20 GHz, 3.00 GHz, 2.80 GHz,
2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz,
1.20 GHz, 1.00 GHz, 800 MHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 3.80 GHz and 5.30 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 3.80 GHz.In the above output, the current CPU frequency is 3.80 GHz, which is within the available frequency range of 800 MHz to 5.30 GHz. However, the maximum frequency is limited to 3.80 GHz, indicating a frequency limitation.
Troubleshooting Frequency Limitations
If you encounter frequency limitations on your system, there are several troubleshooting steps you can take. First, ensure that the CPU cooler is functioning properly and that the CPU temperature is within safe limits. High temperatures can cause the CPU frequency to be limited to prevent damage to the CPU.
Next, check the current governor in use. The ondemand governor may limit the CPU frequency to conserve power and reduce heat generation. If you are running a heavy computational workload, you may want to switch to the performance governor, which adjusts the CPU frequency to maximize performance.
To switch to the performance governor, use the following command:
$ sudo cpufreq-set -g performanceAfter switching to the performance governor, the CPU frequency should no longer be limited, and performance should improve.
References
- Intel(R) 64 and IA-32 Architectures Software Developer Manual. https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
- Linux CPU Frequency Scaling. https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html
- cpufrequtils. https://github.com/AdelGhazi/cpufrequtils
Note: The above article is for informational purposes only and should not be considered as professional advice. Always consult with a qualified professional for any hardware or software issues.