Estimate CPU power draw and energy cost based on TDP and utilization level.
CPU power draw isn't linear with utilization — dynamic power scales roughly with the square (or higher power) of clock frequency and voltage (P ∝ f·V²), and modern CPUs raise both together under load, so a super-linear exponent (commonly modeled between 1.5 and 2.0) approximates real-world power curves better than a straight-line interpolation between idle and TDP. Layering an idle power floor (CPUs never draw zero watts even fully idle, due to leakage current and always-on circuitry) onto that curve, then extrapolating to annual kWh (watts × 8760 hours/year ÷ 1000) and multiplying by local electricity rate gives a rough but useful ongoing cost estimate — useful for justifying more efficient hardware or power-capping decisions at scale.
Power draw model
watts = idle_floor + (TDP − idle_floor) × (utilization/100)^exponent
Annual energy consumption
annual_kWh = watts × 8760 / 1000
TDP (Thermal Design Power) represents the sustained power draw the cooling system is designed to dissipate under heavy, sustained load — not a hard power cap and not the typical draw under normal, variable utilization. Real average power consumption is usually well below TDP unless the CPU is pegged at high utilization continuously.
Dynamic power in CMOS circuits scales roughly with frequency times voltage squared (P ∝ f·V²), and modern CPUs raise both frequency and voltage together as load increases (DVFS), producing a super-linear relationship between utilization and power draw rather than a straight line from idle to TDP.
Intel systems often expose RAPL (Running Average Power Limit) counters readable via `powertop` or directly from /sys/class/powercap/intel-rapl, giving real measured package power rather than an estimate. For a whole-system view including non-CPU components, a physical power meter at the wall remains the most accurate approach.