Add CPU power management tools and dynamic frequency scaling
- Add cpu-power-control.sh: Script for managing CPU power limits and presets - Add monitor-cpu-freq.sh: Real-time CPU frequency monitoring tool - Add test-single-core-boost.sh: Tool for testing single-core boost frequencies - Add BIOS-FIX.md: Documentation for BIOS configuration fix - Update tlp.conf: Configure dynamic CPU frequency scaling (400MHz-4.2GHz on AC, 400MHz-2.2GHz on battery) - Add Intel RAPL power limit controls for CPU power capping - Enable dynamic frequency scaling with proper platform profiles - Fix CPU frequency stuck at 1.6GHz issue (required BIOS SpeedStep disable) - Configure balanced battery mode with 2.2GHz max for responsiveness
This commit is contained in:
@@ -31,6 +31,8 @@ MAX_LOST_WORK_SECS_ON_BAT=60
|
||||
# Select a CPU frequency scaling governor.
|
||||
# Intel Core i processor with intel_pstate driver:
|
||||
# powersave(*), performance
|
||||
# For dynamic scaling between min and max, use "powersave" (it still allows turbo boost!)
|
||||
# "performance" keeps CPU at higher frequencies constantly
|
||||
# Older hardware with acpi-cpufreq driver:
|
||||
# ondemand(*), powersave, performance, conservative, schedutil
|
||||
CPU_SCALING_GOVERNOR_ON_AC=powersave
|
||||
@@ -39,29 +41,55 @@ CPU_SCALING_GOVERNOR_ON_BAT=powersave
|
||||
# Set the min/max frequency available for the scaling governor.
|
||||
# Possible values depend on your CPU. For available frequencies see
|
||||
# the output of tlp-stat -p.
|
||||
CPU_SCALING_MIN_FREQ_ON_AC=800000
|
||||
CPU_SCALING_MAX_FREQ_ON_AC=2000000
|
||||
CPU_SCALING_MIN_FREQ_ON_BAT=800000
|
||||
CPU_SCALING_MAX_FREQ_ON_BAT=1600000
|
||||
# AC: Full range (400 MHz - 4.2 GHz) for maximum efficiency and performance
|
||||
# Battery: 400 MHz minimum for best power savings, 2.2 GHz max for responsiveness
|
||||
CPU_SCALING_MIN_FREQ_ON_AC=400000
|
||||
CPU_SCALING_MAX_FREQ_ON_AC=4200000
|
||||
CPU_SCALING_MIN_FREQ_ON_BAT=400000
|
||||
CPU_SCALING_MAX_FREQ_ON_BAT=2200000
|
||||
|
||||
# Set energy performance hints (HWP) for Intel P-state governor:
|
||||
# performance, balance_performance, default, balance_power, power
|
||||
# Values are given in order of increasing power saving.
|
||||
# AC: balance_performance for dynamic scaling with good responsiveness
|
||||
# Battery: balance_power for better battery life while still allowing boost to 2.2 GHz
|
||||
CPU_HWP_ON_AC=balance_performance
|
||||
CPU_HWP_ON_BAT=power
|
||||
CPU_HWP_ON_BAT=balance_power
|
||||
|
||||
# Set Intel P-state performance: 0..100 (%)
|
||||
# Limit the max/min P-state to control the power dissipation of the CPU.
|
||||
# Values are stated as a percentage of the available performance.
|
||||
# Set min to 0% for dynamic scaling (allows 800MHz idle)
|
||||
# AC: 100% max to allow full 4.2GHz boost
|
||||
# Battery: ~52% max to limit to 2.2GHz (52% of 4.2GHz = ~2.2GHz)
|
||||
CPU_MIN_PERF_ON_AC=0
|
||||
CPU_MAX_PERF_ON_AC=100
|
||||
CPU_MIN_PERF_ON_BAT=0
|
||||
CPU_MAX_PERF_ON_BAT=50
|
||||
CPU_MAX_PERF_ON_BAT=52
|
||||
|
||||
# ACPI Platform Profile (if available):
|
||||
# low-power, balanced, performance
|
||||
# This setting can override CPU frequency settings if not set correctly
|
||||
# AC: performance for maximum responsiveness
|
||||
# Battery: balanced for good battery life while allowing boost to 2.2 GHz
|
||||
PLATFORM_PROFILE_ON_AC=performance
|
||||
PLATFORM_PROFILE_ON_BAT=balanced
|
||||
|
||||
# Intel RAPL power limits (replaces the missing CPU power slider):
|
||||
# Set CPU package power limits in watts (W)
|
||||
# This provides the equivalent functionality of GUI power sliders
|
||||
# Increased from 15W to 25W for better performance and higher boost frequencies
|
||||
CPU_RAPL_POWER_LIMIT_LONG_ON_AC=25
|
||||
CPU_RAPL_POWER_LIMIT_LONG_ON_BAT=8
|
||||
CPU_RAPL_POWER_LIMIT_SHORT_ON_AC=35
|
||||
CPU_RAPL_POWER_LIMIT_SHORT_ON_BAT=12
|
||||
|
||||
# Set the CPU "turbo boost" feature: 0=disable, 1=allow
|
||||
# Requires an Intel Core i processor.
|
||||
# AC: Enable turbo for full performance (up to 4.2 GHz)
|
||||
# Battery: Enable turbo but limited by CPU_MAX_PERF to 2.2 GHz
|
||||
CPU_BOOST_ON_AC=1
|
||||
CPU_BOOST_ON_BAT=0
|
||||
CPU_BOOST_ON_BAT=1
|
||||
|
||||
# Minimize number of used CPU cores/hyper-threads under light load conditions:
|
||||
# 0=disable, 1=enable
|
||||
@@ -78,11 +106,10 @@ NMI_WATCHDOG=0
|
||||
# CAUTION: only use this, if you thoroughly understand what you are doing!
|
||||
#PHC_CONTROLS="F:V F:V F:V F:V"
|
||||
|
||||
# Set CPU performance versus energy savings policy:
|
||||
# performance, balance-performance, default, balance-power, power
|
||||
# Values are given in order of increasing power saving.
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT=power
|
||||
# CPU performance versus energy savings policy (deprecated for intel_pstate)
|
||||
# Modern Intel CPUs use CPU_HWP settings above instead of CPU_ENERGY_PERF_POLICY
|
||||
# CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
|
||||
# CPU_ENERGY_PERF_POLICY_ON_BAT=power
|
||||
|
||||
# Disk devices; separate multiple devices with spaces (default: sda).
|
||||
# Devices can be specified by disk ID also (lookup with: tlp diskid).
|
||||
|
||||
Reference in New Issue
Block a user