Fixing GPU Undersized Issue – Correcting CPU Power Limits
1️⃣ Preparation: Tools & Basic Knowledge
Before troubleshooting, ensure you have:
✅ Technical knowledge of hardware and manufacturer specifications
✅ Tools like a multimeter to measure voltage and current
✅ Manufacturer data on CPU, GPU, and power supply wattage
2️⃣ Problem: GPU is “Undersized”
This means the GPU is not receiving enough power. Possible causes:
🔹 Incorrect CPU power limits
🔹 Power supply cannot deliver enough wattage
🔹 Misconfigured power settings in Linux
3️⃣ Check Current Power Limits
Run the following commands to check how much power your CPU is allowed to use:
cat /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw
cat /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw
cat /sys/class/powercap/intel-rapl:0/constraint_2_power_limit_uw
💡 Example (incorrect configuration):
60000000
115000000
215000000
Here, the CPU is allowed to use up to 215W, which is too high.
4️⃣ Check Manufacturer Specifications
For my CPU, the manufacturer specifies:
✔️ Base Power Consumption: 45W
✔️ Maximum Turbo Power Consumption: 115W
✔️ Minimum Guaranteed Power: 35W
💡 My power adapter only provides 100W, which is not enough!
5️⃣ Correct the Power Limits
Let’s set the correct values to ensure system stability.
1️⃣ Create a systemd service file:
sudo nano /etc/systemd/system/set_power_limits.service
2️⃣ Insert the following script:
[Unit]
Description=Set CPU Power Limits
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo 45000000 > /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw && echo 100000000 > /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw && echo 115000000 > /sys/class/powercap/intel-rapl:0/constraint_2_power_limit_uw'
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
💾 Save the file:
🔹 Press Ctrl + O
(Write the file)
🔹 Press Enter
(Confirm)
🔹 Press Ctrl + X
(Exit editor)
6️⃣ Apply Changes Automatically After Reboot
Now, enable and start the service to apply the changes at every boot:
sudo systemctl enable set_power_limits.service
sudo systemctl start set_power_limits.service
sudo reboot
✅ Done! The CPU will no longer draw excessive power, and the GPU will receive enough energy. No more Undersized errors! 🎉💪