CPU temp very hot in BIOS but okay in RealTemp/Speedfan

46,923

Solution 1

cpu load in bios can range from 80-100% depending on the mobo, which surprised me (I thought the cpu would be sitting close to idle in Bios

This is easily explainable. If you boot into DOS, you will also see the temperature rise. Why? Because back in the days that DOS and BIOSes were first written, overheating was not really a problem, so there was no need to idle the CPU. (Like Hennes said, it is somewhat lazy because one would think that BIOS developers would be writing them properly these days, but I suppose that it is hard to justify re-writing the whole thing from scratch when they can just modify the existing one.)

What this means is that the BIOS (basically just a program), like programs running DOS mode, just runs in an infinite loop to accept user input. Again, this was not a problem way back when, but with more modern systems, it can cause the CPU to heat up unnecessarily.

If you run DOS in a virtual machine, the CPU of the host system will shoot up to ~100% (at least for the core the VM is running on if there are more than one). That is why you are advised to run a little program called idle.com in your DOS VMs. It first came with VirtualPC, but has since spread for use by anyone using DOS in a VM. In fact, some even use it to keep their CPU idle while booting into actual DOS (though whether that works remains open to debate until someone can get around to disassembling it to see how it works—hmm, new project!)

So what does this have to do with you? Well like I said, the BIOS is no different. It has no idle loop to send HALT instructions to the CPU to keep it from overheating; it too runs in a simple, basic, infinite loop (e.g., while done=0 {readkeyboard ... if key=q then done=1})

Therefore, while you are in the BIOS (or even in the pre-boot sequence), the CPU can indeed heat up. This is confined by the fact that your BIOS temperatures were high, but less than a full CPU load. (The BIOS is a simple, single-threaded program, so only a single core gets blasted to 100%. I suppose this could be considered lazy, but then again, it's not like there would be any benefit to updating it to be multi-threaded.)

Because of this, it is advisable to spend as little time in the BIOS as possible if heat is a problem (e.g., when you are in the middle of the desert). Also, try not to pause during the pre-boot sequence. The fast that you can get an operating system up and running (and sending HALT instructions to the CPU), the better.

If you connect your system to a power-meter like the Kill-a-Watt, you can observe this numerically as the system will draw significantly more power while in the BIOS editor or DOS, paused POST, or even the OS boot-menu. However, when a power-aware OS loads, the power usage drops (in fact, even running idle.com in DOS will drop it to the same amount). The specific difference will vary, but 30-50W is not uncommon.

Another way you can see this in action is with a virtual machine. If you pause the VM at the POST or enter the BIOS configuration tool, you will see the CPU load on the host being high (100% on a single-core processor, 50% on a dual-core/threaded, etc.) If you boot into DOS in the VM, the host’s CPU load remains high until you execute idle.com, at which point, it drops to ~0%. It also drops when you boot the guest into Windows or other modern OS.

Solution 2

My hunch is that the BIOS reading are in Fahrenheit, not C. That would give the approximate measurements that you describe, and explain that speedFan and RealTemp give meaningful data.

Solution 3

I think that is normal behavior, weird as it may be. I built a system with an i5-2500k processor last summer and it has been running almost non-stop since then with standard operating temps around 30c. Overclocked and running Prime95 mine ran around 50-60c, yet just loading the bios with no overclocking gets up into that same range. It has done that since I built it and continues doing it when I'm in the BIOS, but the computer has suffered no ill effects to date. As others pointed out in the comments, there may be some lazy coding going on for running the BIOS, causing the CPU to max out even though you're doing almost nothing on it. Unless you plan on editing your BIOS for hours on end, I would not worry about that temp and focus on your normal operating temps in Windows.

Share:
46,923
Jordan Magnuson
Author by

Jordan Magnuson

Updated on September 18, 2022

Comments

  • Jordan Magnuson
    Jordan Magnuson over 1 year

    I just built myself a new i7 2600k system with an Intel DP67BA motherboard. Booted into BIOS and was alarmed to find Processor temp reported at 75 C, and steadily rising... sat there while it rose to 91 C. Updated BIOS... same thing. Removed the heat sink, removed stock thermal compound and applied Arctic Silver 5 (carefully following all instructions form Arctic Silver's website). Booted into BIOS... same thing. Temps seemed even a bit hotter.

    Decided to go ahead and install Windows anyway, and see what RealTemp/Speedfan had to say. Install successful, ran RealTemp, and it's telling me my core temps are sitting at 36 C. Same thing in Speedfan. Ran a stress test in Prime 95, and temps did indeed rise, up to 90 C. But obviously they couldn't have been at 90 C to begin with, then.

    90 C under load is obviously quite high, but I'm sitting in the desert with no AC, with room temperature sitting around 30 C, so 90 under load (with Turbo Boost doing some automatic overclocking, I assume) doesn't really surprise me that much (though it's still high). It's the BIOS temp that had me really worried, and still concerns me.

    So... what should I make of all this? Doing a little research online seems to indicate that cpu load in BIOS can range from 80-100% depending on the mobo, which surprised me (I thought the cpu would be sitting close to idle in BIOS). Do Intel's boards run CPUs at 100% in BIOS? If that's the case, then I guess that would explain the high temps corresponding on the RealTemp temps under Prime 95 stress...

    Anyway, any advise/help/thoughts/recommendations are much appreciated. Need to decide whether everything's A-Okay (based on the RealTemp findings, basically), or whether I need to replace my cpu and/or mobo. I'm leaning towards thinking that the BIOS is just screwy, running the CPU on full load... but perhaps that's a bad conclusion?

    • ganesh
      ganesh almost 12 years
      Quite a lot of BIOSes use at least one core of a CPU at 100%. Possibly due to lazy coding with busy wait loops.
  • Jordan Magnuson
    Jordan Magnuson almost 12 years
    Thanks much for the reply. I also considered the the temps were showing in F, rather than C, but I have double and triple checked this, and the temp in the BIOS is clearly given in degrees C, not F. Could be a typo in the BIOS, but given that I just grabbed the latest of several BIOS updates, seems extremely unlikely that they still haven't caught that. Which is why I lean towards my first conclusion (CPU is being stressed in BIOS).
  • Ryqiem
    Ryqiem almost 12 years
    Yeah, I've had the same thing. Not only did the bios report high temperatures, but the heatsink also got quite hot. It must be a bug in the BIOS (a BIOS shouldn't stress a quad-core). Mine was with an AMD 940 on some old AM2+ mobo...
  • Jordan Magnuson
    Jordan Magnuson almost 12 years
    Thanks a lot for the great info! That seems to explain everything and correspond to my original conclusion. I understand all the logic here, I'm just baffled by the fact that the modern day BIOS programs are using such old school methods...
  • Synetech
    Synetech almost 12 years
    @JordanMagnuson, maybe because they figure that it isn’t financially practical to spend much time restructuring BIOSes from scratch if they are just going to be extinct in several years and replaced with EFI.
  • Ben Voigt
    Ben Voigt almost 12 years
    While some sort of idle instruction is needed for maximum energy saving, the consumption in the BIOS should still be far less than maximum.
  • Synetech
    Synetech almost 12 years
    @BenVoigt, not really. A simple while(1); loop would put the CPU into an infinite loop that uses up 100% of its cycles. On a multi-core CPU, it would peg the core that its code is running on at 100% (and presumably the other(s) at ~0%). BIOS code is no different than a DOS program in some respects.
  • Ben Voigt
    Ben Voigt almost 12 years
    @Synetech: Sorry, but no. while (1); will leave 3/4 of even the active CPU core powered down (and as you say, other cores will be totally inactive). SIMD engine is not used. Floating point unit is not used. Integer ALU is not used. DRAM controller is not active, since everything is executing from cache. Only the program counter arithmetic circuit is active. 100% cycles is totally different from maximum power draw.
  • Synetech
    Synetech almost 12 years
    @BenVoigt, who’s talking about power draw? You’re the first person to mention power, electricity, energy, etc. at all on this entire page. The CPU “usage” is at 100% which causes it to heat up. Feel free to compile an infinite loop for yourself and run it on a variety of CPUs and note that the Task Manager almost always shows ~100/N% for N cores. Granted, some compilers may be able to make it more efficient for modern systems, but many will just suck cycles.
  • Ben Voigt
    Ben Voigt almost 12 years
    @Synetech: Really, you tried to answer a question about CPU heating, and you don't know where the heat comes from? Also, please note that you can run (single threaded) empty infinite loop, SuperPi, or LINPACK (as in Intel Burn Test), and they all use different amounts of power, dissipate different heat, and reach equilibrium at different temperatures, even though they all show 100% usage of one core.
  • Synetech
    Synetech almost 12 years
    @BenV, do you know terms “simplification” or “generalization”. I never said that the BIOS’s loop would cause the CPU to heat up to its “maximum point” (which is meaningless anyway, especially since the OP is in a desert where the temperature fluctuates greatly). If you’re so damn smart and know better than everybody, then why don’t you stop with all the ad hominem vitriol and just post an answer. If you’re as clever as you think, then it will get up-voted through the roof. But from your profile, you seem more like the kind who’d rather nag about other people’s work than do anything yourself.
  • Ben Voigt
    Ben Voigt almost 12 years
    You didn't look at my profile very closely, obviously. And you're the only one engaging in ad hominem attack (an ad hominem attack extrapolates something else you know about the speaker to call their statement into question; pointing out you are completely wrong to say that power dissipation is irrelevant to this question is not the same thing at all). And it is an important distinction -- in light of lower heat dissipation, your answer explains a higher-than-idle temperature in the BIOS, but not temperatures without 1 C of SuperPi. Something more is going on here.
  • Synetech
    Synetech almost 12 years
    You didn't look at my profile very closely I saw your comments on some other questions, so I looked at your comment history. Something more is going on here So you know how (all) BIOS code are implemented; so I say again, if you think you know better (than everyone probably), then write your own answer. And I don’t recall ever using the term irrelevant here. You keep putting words in my mouth. Stop it. your answer explains a higher-than-idle temperature in the BIOS Which is the question. Duh. but not temperatures without 1 C of SuperPi. Lay off the drugs.
  • Synetech
    Synetech almost 12 years
    > Unless you plan on editing your BIOS for hours on end, I would not worry about that temp and focus on your normal operating temps in Windows. Actually it’s not just the BIOS editor, but the whole BIOS/POST pre-boot environment that behaves like that. Here’s a bad scenario I first experienced about a year ago: Windows is running. The CPU temp. is low, so SpeedFan turns the CPU fan down to zero. Windows crashes at some point while the fan is off. POST. BIOS warns about fan being off. CPU continues to heats up for ~3 minutes until Windows boots and SpeedFan runs and turns the fan back up.
  • Albert van der Horst
    Albert van der Horst about 5 years
    Running at 100% may not be as bad as it sounds. prime95 runs all integer and floating point units at full blast, in parallel. In comparison a busy wait may occupy just a small part of the cpu.