CPU/GPU Undervolting

Reduce CPU/GPU voltage to lower temperatures and power consumption while maintaining performance.


Why Undervolt?

Benefits:

  • Lower temperatures (5-15°C reduction)
  • Reduced power consumption (10-30W savings)
  • Quieter fans
  • Extended battery life
  • Same or better performance (less thermal throttling)

Risks: System instability if too aggressive (easily reversible)


Intel CPU Undervolting (Linux)

Using intel-undervolt

 1# Install
 2sudo apt install intel-undervolt
 3
 4# Check current values
 5sudo intel-undervolt read
 6
 7# Configure
 8sudo nano /etc/intel-undervolt.conf
 9
10# Example configuration (adjust values for your CPU)
11# Start conservative, test stability
12undervolt 0 'CPU' -100
13undervolt 1 'GPU' -75
14undervolt 2 'CPU Cache' -100
15undervolt 3 'System Agent' -0
16undervolt 4 'Analog I/O' -0
17
18# Apply settings
19sudo intel-undervolt apply
20
21# Enable on boot
22sudo systemctl enable intel-undervolt
23
24# Monitor temperatures
25watch -n 1 'sensors | grep Core'

Stress Test

1# Install stress test tools
2sudo apt install stress-ng
3
4# CPU stress test (run for 30 minutes)
5stress-ng --cpu $(nproc) --timeout 30m --metrics-brief
6
7# Monitor during test
8watch -n 1 'sensors && cat /proc/cpuinfo | grep MHz'

Intel CPU Undervolting (Windows)

Using ThrottleStop

 1# Download ThrottleStop
 2# https://www.techpowerup.com/download/techpowerup-throttlestop/
 3
 4# Steps:
 5# 1. Run ThrottleStop as Administrator
 6# 2. Click "FIVR" button
 7# 3. Select "CPU Core" from dropdown
 8# 4. Check "Unlock Adjustable Voltage"
 9# 5. Set offset (start with -50mV, increase gradually)
10# 6. Click "Apply"
11# 7. Repeat for "CPU Cache", "Intel GPU"
12# 8. Save profile
13# 9. Enable "Start Minimized" and "Minimize on Close"
14# 10. Add to startup
15
16# Recommended starting values:
17# CPU Core: -100mV
18# CPU Cache: -100mV
19# Intel GPU: -75mV
20# System Agent: -50mV

Stress Test (Windows)

1# Download Prime95
2# https://www.mersenne.org/download/
3
4# Run blend test for 30 minutes
5# Monitor with HWiNFO64 or Core Temp

AMD CPU Undervolting (Linux)

Using ryzenadj

 1# Install
 2git clone https://github.com/FlyGoat/RyzenAdj.git
 3cd RyzenAdj
 4mkdir build && cd build
 5cmake ..
 6make
 7
 8# Set power limits and voltage
 9sudo ./ryzenadj --stapm-limit=25000 --fast-limit=30000 --slow-limit=25000 --tctl-temp=85
10
11# Create systemd service
12sudo tee /etc/systemd/system/ryzenadj.service <<EOF
13[Unit]
14Description=RyzenAdj Power Management
15After=multi-user.target
16
17[Service]
18Type=oneshot
19ExecStart=/path/to/ryzenadj --stapm-limit=25000 --fast-limit=30000 --slow-limit=25000
20
21[Install]
22WantedBy=multi-user.target
23EOF
24
25sudo systemctl enable ryzenadj

AMD CPU Undervolting (Windows)

Using Ryzen Master

 1# Download AMD Ryzen Master
 2# https://www.amd.com/en/technologies/ryzen-master
 3
 4# Steps:
 5# 1. Install and run as Administrator
 6# 2. Go to "Profile 1"
 7# 3. Enable "Precision Boost Overdrive"
 8# 4. Adjust "Curve Optimizer" (negative offset)
 9# 5. Start with -10 for all cores
10# 6. Test stability
11# 7. Gradually increase to -20 or -30
12# 8. Save profile

NVIDIA GPU Undervolting (Linux)

 1# Enable coolbits
 2sudo nvidia-xconfig --cool-bits=28
 3
 4# Restart X server
 5sudo systemctl restart display-manager
 6
 7# Using nvidia-settings GUI
 8nvidia-settings
 9
10# Or command line
11nvidia-settings -a "[gpu:0]/GPUGraphicsClockOffset[3]=100"
12nvidia-settings -a "[gpu:0]/GPUMemoryTransferRateOffset[3]=200"
13
14# Set power limit
15sudo nvidia-smi -pl 150  # 150W limit
16
17# Monitor
18watch -n 1 nvidia-smi

NVIDIA GPU Undervolting (Windows)

Using MSI Afterburner

 1# Download MSI Afterburner
 2# https://www.msi.com/Landing/afterburner
 3
 4# Steps:
 5# 1. Install and run
 6# 2. Press Ctrl+F to open voltage/frequency curve
 7# 3. Select desired voltage point (e.g., 900mV)
 8# 4. Drag up to desired frequency
 9# 5. Flatten curve to the right
10# 6. Click checkmark to apply
11# 7. Test with benchmark (3DMark, Unigine Heaven)
12# 8. Save profile
13
14# Example settings:
15# Stock: 1.05V @ 1800MHz
16# Undervolted: 0.90V @ 1800MHz
17# Result: Same performance, -20W power, -10°C temp

AMD GPU Undervolting (Linux)

 1# Using CoreCtrl
 2sudo apt install corectrl
 3
 4# Run CoreCtrl
 5corectrl
 6
 7# Enable performance mode
 8# Adjust voltage/frequency curve in GUI
 9
10# Or manual via sysfs
11echo "manual" | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
12
13# Set voltage
14echo "s 0 800" | sudo tee /sys/class/drm/card0/device/pp_od_clk_voltage

AMD GPU Undervolting (Windows)

Using AMD Adrenalin

1# AMD Adrenalin Software
2# 1. Open AMD Software
3# 2. Go to Performance > Tuning
4# 3. Enable "Manual" tuning
5# 4. Adjust "GPU Tuning"
6# 5. Reduce voltage (start with -50mV)
7# 6. Test with games/benchmarks
8# 7. Save profile

Monitoring Tools

Linux

 1# CPU temperature
 2sensors
 3
 4# Detailed monitoring
 5sudo apt install lm-sensors
 6sudo sensors-detect
 7watch -n 1 sensors
 8
 9# Power consumption
10sudo apt install powertop
11sudo powertop
12
13# GPU monitoring
14nvidia-smi  # NVIDIA
15radeontop   # AMD

Windows

1# HWiNFO64 (recommended)
2# https://www.hwinfo.com/
3
4# Core Temp (CPU)
5# https://www.alcpu.com/CoreTemp/
6
7# GPU-Z (GPU)
8# https://www.techpowerup.com/gpuz/

Stability Testing

CPU Stress Tests

1# Linux
2stress-ng --cpu $(nproc) --timeout 30m
3prime95  # Download from mersenne.org
4
5# Monitor for:
6# - System crashes/freezes
7# - Errors in dmesg
8# - Temperature spikes

GPU Stress Tests

1# Unigine Heaven
2# https://benchmark.unigine.com/heaven
3
4# FurMark (extreme test)
5# https://geeks3d.com/furmark/
6
7# Run for 30 minutes minimum
8# Monitor for artifacts, crashes, throttling

Safe Undervolting Values

Intel CPU (Starting Points)

ComponentConservativeAggressive
CPU Core-50mV-125mV
CPU Cache-50mV-125mV
Intel GPU-25mV-75mV
System Agent0mV-50mV

AMD CPU (Curve Optimizer)

StartingStableAggressive
-5-15-30

GPU

TypeConservativeAggressive
NVIDIA-50mV-150mV
AMD-50mV-100mV

Troubleshooting

 1# System crashes/freezes
 2# - Reduce undervolt by 25mV
 3# - Test again
 4
 5# Blue screen (Windows)
 6# - Boot to safe mode
 7# - Reset ThrottleStop/Ryzen Master settings
 8
 9# Black screen (GPU)
10# - Reboot (settings reset automatically)
11# - Use less aggressive undervolt
12
13# Check system logs (Linux)
14sudo dmesg | grep -i error
15sudo journalctl -xe

Related Snippets