In my syslog I had:

thermal thermal_zone0: critical temperature reached(102 C),shutting down

I lost data due to this. I would much rather that the system:

  • suspended to RAM, or
  • lowered the clock freq

How can I do that?

I imagine the process responsible for monitoring the temperature is calling a shutdown script. If I can change that to run the suspend-to-RAM, then both the me and the laptop should be happy. So the question is partly: Which process is responsible for doing this shutdown? And how do I configure it?

uname -a
Linux aspire 3.16.0-31-lowlatency #43~14.04.1-Ubuntu SMP PREEMPT Tue Mar 10 20:41:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
  • 1
    Take a look at cpufreq package, then write a script that checks every N minutes if temperature reached some (some < critical) point, and if so lowers cpu freq.
    – jimmij
    Commented Jun 27, 2015 at 18:27
  • 3
    @jimmij On most CPUs these days the CPU itself will slow down when it reaches a threshold lower than the shutdown threshold (the "high" threshold is the slowdown threshold, the "crit" threshold is the shutdown threshold). The slowdown will be logged though, there should be something about it in the kernel logs. Commented Jun 27, 2015 at 19:04
  • 1
    Before writing any script inspect your hardware and make sure it gets proper cooling. Commented Jun 27, 2015 at 20:56
  • @don_crissti A good script writer can be a terrible hardware guy and might actually worsen the situation simply by inspecting the hardware. So your advice only applies to people who have access to good hardware support.
    – Ole Tange
    Commented Jun 28, 2015 at 6:16
  • 1
    "I lost data due to this." How did you lose data? Commented Mar 25, 2016 at 21:13

2 Answers 2


From drivers/thermal/thermal_core.c:

    if (trip_type == THERMAL_TRIP_CRITICAL) {
                       "critical temperature reached(%d C),shutting down\n",
                       tz->temperature / 1000);

So it seems it is not calling a script to handle the situation.


This is a really serious message. The computer only does this when there's a cooling problem. Under no circumstance the temperature should reach values this high. This immediate shutdown is an action triggered by the thermal sensor that operates independent of the operating system. It prevents the processor from getting damaged beyond repair. The bottomline is you can't prevent this protection measure and you should not ever want to do this if it had been possible. What you should do first now is checking what's wrong with cooling and solve the problem. I've experienced this problem a few years ago and it turned out to be the paste between the heatsink and the processor.

  • The laptop is 1.5 years old, so it is likely that it is dried out thermal paste. But messing with the internals of a laptop is not really my force, and since the shutdown happens rarely, I would much rather have it suspend to RAM.
    – Ole Tange
    Commented Jun 28, 2015 at 6:12
  • Well, I can't help you with that. But I know for sure you can't circumvent the emergency shutdown. If the computer gets this hot again the thermal sensor will still trigger an emergency shutdown. So you'll have to do some scripting that somehow limits the temperature rise.
    – wie5Ooma
    Commented Jun 28, 2015 at 20:55
  • 2
    @wie5Ooma I think OP's point is that there are other things that could be done to bring the temperature down. The temperature usually gets this high under heavy load, suspend to RAM, wait 1 minute and resume (manually) is a much better solution in most cases. Even just freezing the whole userspace is likely to help. And will be actually much faster than regular poweroff (which can take on the order of minutes, while suspend is usually a matter of seconds).
    – peterph
    Commented Jun 22, 2016 at 20:09
  • 1
    I am having this issue with a replacement fan. It turns out I completely ignored the paste! To me, this is the right answer.
    – rytis
    Commented Jun 20, 2021 at 14:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .