If you’re looking for authoritative information on how much cooling is enough for your CPU, you’ll be hard-pressed to find an answer. While we all know that modern processors need some degree of active cooling, very little official information exists to say how different temperatures affect a CPU's performance.
Older CPUs would simply fail if they started to overheat, but modern CPUs adjust their frequency based on temperature (among other things) to prevent a dramatic failure. Because of this, it stands to reason that once you reach a certain temperature, you will no longer be getting the maximum performance from your CPU because it will be busy protecting itself.
But what is that temperature? And do you really need a high-end liquid-cooled system to get peak performance, or is the little stock cooler that comes with most CPUs enough? In this article we will answer these questions and more.
How CPUs should be affected by temperature
Modern CPUs are able to adjust their operating frequencies through a number of technologies in order to either reduce their power consumption or provide maximum power as needed. The first of these modern technologies is Turbo Boost (or Turbo Core for AMD APU/CPUs). According to the overview page for Intel Turbo Boost Technology 2.0, there are five factors that affect the amount of increased frequency an Intel CPU can achieve via Turbo Boost:
- Type of workload
- Number of active cores
- Estimated current consumption
- Estimated power consumption
- Processor temperature
For this article, #5: Processor temperature is the main factor we are concerned about. You would expect Turbo Boost to slowly stepping back the amount of Turbo Boost as the CPU gets hotter. In actuality, an Intel CPU under heavy load will actually run at the maximum Turbo Boost allowed by the other four factors until it hits the CPU's thermal limit.
CPUs also have extremely robust thermal protection. If the CPU starts operating above the CPU's thermal limit it will begin to reduce the frequency in order to prevent catastrophic failure. Oddly, we have found that the thermal limit for both Turbo Boost and thermal protection on Intel CPUs to be right at 100 °C - which makes it very convenient to remember. In other words, until the CPU hits 100 °C you should see 100% of the CPUs available performance. Once you starting hitting 100 °C, however, the CPU will start throttling back to keep itself from overheating
How cooling actually affects Intel CPU performance
We know from both experience and explicit testing that modern Intel CPUs (at the very least Sandy Bridge, Ivy Bridge, and Haswell) can run at their maximum Turbo Boost frequency all the way up to 100 °C. While there may be a tiny performance difference between a CPU running at 30 °C and one running at 95 °C, our testing has found that the difference is miniscule. In fact, even after running benchmarks dozens of times the difference is so small that it is essentially nonexistent.
What we can measure is what happens once a CPU starts to hit 100 °C. To figure this out, we took an Intel Core i7 4790 and cooled it with a Gelid Silent Spirit Rev. 2 CPU cooler that was connected to a manual PWM fan speed controller. By running Linpack (which is a CPU benchmark widely used in the scientific community) and slowly dialing the fan speed down in careful increments, we were able to allow the CPU to overheat by incremental amounts. At each cooling increment we kept a log of the Linpack benchmark results as well as using CoreTemp to record the CPU core temperature and frequency.
Since the Intel CPU thermal limit is 100 °C, we can quantify the amount of overheating by measuring the amount of time the CPU temperature was running at > 99 °C.
We were very surprised when our testing showed that while the minimum CPU load frequency started to drop as soon as the CPU hit 100 °C, the average CPU frequency didn't drop by more than .1GHz until the CPU was overheating more than 30% of the time. In fact, Intel CPUs are surprisingly good at being able to handle this much heat with such a small reduction in the average frequency.
While this is a great way to understand what is happening from a frequency standpoint, we wanted to know how this affects real-world performance. To do so, we recorded the Linpack performance results to see what the actual performance implications of overheating are:
Linpack is one of the most consistent CPU benchmarks we have ever seen and the Intel Core i7 4790 should score right at 190 GFlops with the problem size we used for this testing (30000). What is interesting is that the Linpack results from our testing almost exactly follow the average CPU frequency from the previous graph. While it makes complete sense, this pretty much just confirms that from a strictly CPU performance point of view, the performance of a CPU is directly related to it's average frequency.
So what does this all mean? Beyond the fact that Intel CPUs are impressively stable even while technically overheating it means that you can expect full performance from an Intel CPU as long as you keep it below 100 °C. At the same time, even if the CPU occasionally hits 100 °C you shouldn't see more than a minimal drop in performance until it spends a significant amount of time (more than 20% of the time) above 99 °C.
Is stock cooling adequate?
While the information from the previous section is really interesting, it may be hard to translate into a real world situation. To help with this, we performed the exact same Linpack test except that instead of altering the cooling manually we used two different CPU coolers - the stock cooler that came bundled with the Core i7 4790 and the budget-friendly Cooler Master Hyper TX3 which only costs about $20. To make this as real-world as possible, we installed our test hardware (Asus Sabertooth Z97 Mark II, Intel Core i7 4790, 4x Kingston HyperX LoVo DDR3-1600 4GB, NVIDIA GeForce GTX 980) into a Fractal Design Define R4 chassis with the stock fans running at 5V.
As you can see from the graph above, even a very affordable CPU cooler like the CM Hyper TX3 is able to dramatically lower the CPU temperature under load. While the stock cooler is easily hitting 100 °C during the benchmark run, the CM Hyper TX3 only ever hits a maximum temperature of 80 °C. In terms of how much the CPU was overheating, the stock cooler allowed the CPU to run at > 99 °C about 20% of the time.
According to our graphs from the previous section, we should expect a measurable, albeit small, drop in performance with the stock cooler. We found that using the stock cooler made the CPU perform about 2.5% slower than it did with the CM Hyper TX3. The neat thing is that this drop in performance almost exactly lines up with our graphs of expected performance from the previous section.
The results of our testing can pretty much be summarized with the following three points:
- Modern Intel CPUs run at full speed (including the full Turbo Boost allowed based on the number of cores and workload) all the way up to 100 °C
- Even after the CPU hits 100 °C, the performance is not greatly affected until the CPU spends about 20% of the time > 99 °C
- While stock cooling only causes around a 2.5% drop in performance, even a budget after market cooler will dramatically improve CPU temperatures
Frankly, we were a bit surprised at how well modern Intel CPUs dealt with really high temperatures. They manage to run at full speed all the way up to 100 °C, and even then the performance is not greatly affected unless they spend a significant amount of time at that temperature. We certainly don't advocate letting your CPU run at those kinds of temperatures, however. While this article is about performance there are plenty of non-performance based reasond to keep your CPU temperature at a more reasonable level.
Sensitive electronics like CPUs have a finite lifespan and running them at higher temperatures shortens it. So unless you want to have an excuse to upgrade your system often, higher temperatures are counter-productive.
With PC hardware, higher temperatures make both minor and major hardware faults much more likely. These hardware faults can result in anything from reduced performance due to minor errors needing to be corrected to data corruption or bluescreens due to more dramatic errors.
The difficult thing is that just saying "lower temperatures are better" is an overly simplified way to look at CPU temperatures when you consider a PC as a whole. While you can use giant liquid cooling loops, insanely high flow fans, or even things like liquid nitrogen to keep a CPU extremely well cooled those methods are either expensive, cumbersome, loud, or a combination of all three. In reality it is generally better to let the CPU run a little warm in order to properly balance the cooling against the heat output of the CPU.
For example, the Corsair Hydro H60 is a great closed-loop CPU cooler that we use on most of our high wattage CPUs, but it would be overkill for a low-wattage Intel Core i3 CPU. It would certainly keep the CPU well cooled, but it would be much louder, more complex (due to the liquid and pump), and more expensive than what is necessary. Instead, a CM Hyper TX3 or Gelid Tranquillo (if you want to have the system even quieter) would be a better match for that CPU even though the CPU would run slightly hotter under load.
For the average system, our rule of thumb at Puget Systems is that the CPU should run around 80-85 °C when put under full load for an extended period of time. We have found that this gives the CPU plenty of thermal headroom, does not greatly impact the CPU's lifespan, and keeps the system rock stable without overdoing it on cooling. Lower temperatures are, of course, better (within reason) but if you want a target to aim for, 80-85 °C is what we generally recommend.