# ACPI and CPU Temp - Intel Centrino

## dat

I recently installed gentoo-dev (kernel 2.6.7)  on my ibm x31 laptop, and have been trying to figure out ways to get it to run a bit cooler.

```
dat@datlap THM0 $ cat /proc/acpi/thermal_zone/THM0/temperature

temperature:             68 C
```

That was during an emerge where the cpu was on avg 80% for 5 minutes.

When idling, it sits at about 55C which just seems like its a bit too hot for me.

BTW - Its an intel centrino running at 1.3ghz.

Am I missing something?  Should it be running this hot?  Is this even the right temp that I'm looking at? etc

----------

## spudicus

I can only comment on my experience with my latptop (Pentium 3gig).

It's currently running at 45c (22c temperature outside). However, while my distributed.net client is running (which is pretty much always), it elevates to as much as 72c   :Shocked: . Whether this reading is totally accurate, is another thing entirely.

----------

## feffi

UPSI,

this thing is damn hot, I'll think! My centrino (1.6GHz) runs at 33-56°C depending on my work. Maybe you should try to get speedfreq or a similar tool to step down your CPU.

@spudicus:

72°C is definetly too hot. Maybe get a better cooling system??

----------

## dat

 *_kev_ wrote:*   

> UPSI,
> 
> this thing is damn hot, I'll think! My centrino (1.6GHz) runs at 33-56ï¿½C depending on my work. Maybe you should try to get speedfreq or a similar tool to step down your CPU.
> 
> 

 

I'm currently using a speedfreq jumper now that raises/lowers my cpu freq based on work load.  At idle, it jumps down to ~300mhz.  During emerges, it jumps up to ~1.3ghz.  Despite this, the bottom of the laptop still gets a little too warm to comfortably sit in my lap.  I'm sure part of the problem is the harddrive too, but I only know how to access the cpu temp right now.

----------

## spudicus

 *_kev_ wrote:*   

> @spudicus:
> 
> 72°C is definetly too hot. Maybe get a better cooling system??

 

I don't think I can. It's a leased Sony VAIO laptop, so even if I could get a compatible cooling system, I may not be allowed to install it.

Whats odd, is that it runs @45C idle, but jumps over 20C when running at a 100%. There may be something else wrong with it?

----------

## feffi

Hi you both,

a notebook at 72°C  :Shocked:  is really damn hot, even for a desktop it's hot enough to damage your board and harddrive. I would suggest to get a new one (it's leased, so there should be no problem). My desktops BIOS is set to shutdown at this temperature for my 3.0GHz CPU.  :Shocked: 

----------

## serendipity

Hell, I've got a small form factor Shuttle XPC with a Prescott 2.8 in it, and it generates so much heat that I swapped out the stock fan for a Noiseblocker S4. From the heat your laptop is generating, the CPU looks to be a prescott (i.e., with the "E" label at the end.).

I have NO idea what these manufacturers are doing puttting P4s in such a small space as a laptop, but I submit that they are not designed for this usage. I learned yesterday that my brother has a work laptop (a Dell) with a prescott in. Amazing. I'm surprised that the thing has not cooked off yet.

When I compile GTK++ stuff for longer than, say 10min, my CPU temp gets up to 66 degrees celsius (not above 64 degrees on a kernel compile)!! And this WITH a noiseblocker, which has an airflow of 75 m3 / hour in a much bigger and better ventilated box, with a much more efficient heatsink than a laptop.

Anyway, no problem for you. Your machine is leased, so if it gets fried, bad luck to the lease company for having chosen this platform

----------

## dat

 *serendipity wrote:*   

> 
> 
> Anyway, no problem for you. Your machine is leased, so if it gets fried, bad luck to the lease company for having chosen this platform

 

Unfortunately, mine is NOT leased.  Everything that I have read about this laptop is that its not really supposed to get hot with the centrino processer.  But, regardless, it IS getting hot, so I need to find a way to try to cool it down.

----------

## serendipity

Duh, I just read the title of that one properly, and saw that it clearly says "Centrino", and there I went on ranting about the prescott in laptops <sheepish grin>

----------

## optilude

I have a Centrino system that frequently runs up to about 80C when compiling heavily. Even now, when it's doing nothing but Firefox and a few terminals, it's running at 48C. It's 18C outside.

I am experiencing trouble with my memory, and I think this may be related. Does anyone know if CPU temperature is controlled more effectively in Windows than in Linux? I have no point of reference to compare to. However, I note that the fan starts running when it hits 60-65C. Can it be set to trigger at lower temperatures? I run speedreq to manage CPU speed, and the system has ACPI support, with a fan entry in /proc/acpi/fan that simply tells me whether it's currently running...

Martin

----------

## dat

 *optilude wrote:*   

> 
> 
> However, I note that the fan starts running when it hits 60-65C. Can it be set to trigger at lower temperatures? I run speedreq to manage CPU speed, and the system has ACPI support, with a fan entry in /proc/acpi/fan that simply tells me whether it's currently running...

 

I have the exact same problem.  Mine doesn't get quite as hot as yours, but the fan isn't kicking on until around 60C which is way too hot.  I can't keep the laptop on my lap as the bottom gets too hot.

----------

## oisch

Sorry for this OT-question, but how did you manage to get the temp entry in /proc?

I only have the directory /proc/acpi/thermal_zone, but it's empty  :Sad: 

----------

## optilude

just loaded the appropriate acpi module and it appeared (see kernel config - add acpi thermal, load on startup)

----------

## spudicus

I don't know if this will help anyone, but I've just discovered why my temp was constantly hot.

It seems when I compiled my (2.6) kernel I selected the cpufreq governor to default to performance and as a result was thrashing the s#%t out of my cpu.

Once I changed the default to userspace (but still compiled the powersaver/performance governors in if I want them), my temperature dropped significantly.

----------

## dat

 *spudicus wrote:*   

> I don't know if this will help anyone, but I've just discovered why my temp was constantly hot.
> 
> It seems when I compiled my (2.6) kernel I selected the cpufreq governor to default to performance and as a result was thrashing the s#%t out of my cpu.
> 
> Once I changed the default to userspace (but still compiled the powersaver/performance governors in if I want them), my temperature dropped significantly.

 

I just checked my kernel and I had the same option selected.  I just switched to userspace and it's recompiling now.  Hopefully it makes a difference.  Thanks for the advice.

----------

## brodo

Whether you use the "performance" or "userspace" governor doesn't change the CPU frequency -- you either need an userspace tool for that, or you need to echo new frequencies to /sys/devices/system/cpu/cpu0/cpufreq if "userspace" is used as governor.

----------

## spudicus

 *brodo wrote:*   

> Whether you use the "performance" or "userspace" governor doesn't change the CPU frequency -- you either need an userspace tool for that, or you need to echo new frequencies to /sys/devices/system/cpu/cpu0/cpufreq if "userspace" is used as governor.

 

If you use the performance govenor, the frequency will be statically set to the highest frequency between scaling_min_freq and scaling_max_freq (in/sys/devices/system/cpu/cpu0/cpufreq/). 

If you use the the userspace governor, it seems to default toward a more conservative frequency unless, as you stated, it's manually changed or automatically changed (via speedfreq for example).

----------

## brodo

 *spudicus wrote:*   

>  *brodo wrote:*   Whether you use the "performance" or "userspace" governor doesn't change the CPU frequency -- you either need an userspace tool for that, or you need to echo new frequencies to /sys/devices/system/cpu/cpu0/cpufreq if "userspace" is used as governor. 
> 
> If you use the performance govenor, the frequency will be statically set to the highest frequency between scaling_min_freq and scaling_max_freq (in/sys/devices/system/cpu/cpu0/cpufreq/). 
> 
> If you use the the userspace governor, it seems to default toward a more conservative frequency unless, as you stated, it's manually changed or automatically changed (via speedfreq for example).

 

No, the userspace governor doesn't default to _any_ frequency. It keeps the system at the same frequency it was before, which tends to be max frequency if booted on AC, or min frequency if booted on battery power. So if you're on AC power, simply enabling performance or userspace governor leads to the same frequency. And during an install of gentoo, you usually are on AC power...

----------

## spudicus

 *brodo wrote:*   

>  *spudicus wrote:*    *brodo wrote:*   Whether you use the "performance" or "userspace" governor doesn't change the CPU frequency -- you either need an userspace tool for that, or you need to echo new frequencies to /sys/devices/system/cpu/cpu0/cpufreq if "userspace" is used as governor. If you use the performance govenor, the frequency will be statically set to the highest frequency between scaling_min_freq and scaling_max_freq (in/sys/devices/system/cpu/cpu0/cpufreq/). 
> 
> If you use the the userspace governor, it seems to default toward a more conservative frequency unless, as you stated, it's manually changed or automatically changed (via speedfreq for example). No, the userspace governor doesn't default to _any_ frequency. It keeps the system at the same frequency it was before, which tends to be max frequency if booted on AC, or min frequency if booted on battery power. So if you're on AC power, simply enabling performance or userspace governor leads to the same frequency. And during an install of gentoo, you usually are on AC power...

 

Odd. I just turned off speedfreq (and removed from runlevel), set the frequency to 2.6gig, then rebooted and it's now set a 1gig (all on AC). I then repeated on battery only with the same results. Finally, I set the governor to performance, rebooted and the frequency is at 2.6gigs. So at some stage, something is resetting it to 1gig   :Question: 

----------

## brodo

 *spudicus wrote:*   

> 
> 
> Odd. I just turned off speedfreq (and removed from runlevel), set the frequency to 2.6gig, then rebooted and it's now set a 1gig (all on AC). I then repeated on battery only with the same results. Finally, I set the governor to performance, rebooted and the frequency is at 2.6gigs. So at some stage, something is resetting it to 1gig  :?:

 

Possibly you have set an option in BIOS that sets the freq to 1 GHz? Like "always battery-save"?

----------

## dat

Perhaps I'm going insane, but the laptop definitely seems to be running cooler since I switched to "userspace".  I haven't been monitoring the cpu however, so I have no real proof other than 'feeling'.

----------

## brodo

well, _maybe_ the CPU frequency your system boots at isn't the maximum. But it's unlikely. userspace definitely doesn't change the CPU frequency upon boot.

----------

## timhick

I have a Samsung Q10 and it get's quite hot when busy (~75C) - a little to hot for it to be comfortable. So I read the cpufreqd source code and wrote my own from scratch that includes support for scaling CPU frequency based on the system temperature:

```
[profile]

name=cool-down

cpufreq=0%-50%

policy=powersave

[rule]

temperature=70C+

profile=cool-down
```

I've been using Linux for just over a week now and figured writing something would be a good way to get an introduction to gcc and the build system. Still haven't quite figured out autoconf and automake just yet, and Anjuta doesn't really work for me. Coming from a Windows background using the latest Visual Studio tools it's hard work trying to find an ideal IDE (currently using gEdit).

FYI, the performance governor will run at the maximum scaling frequency, powersave at the minimum and userspace at the frequency specified in the scaling_setspeed file. However the only valid ranges for a CPU frequency are defined in scaling_available_frequencies. For those who don't know, all this information can be found in the /sys/devices/system/cpu/cpu0/cpufreq directory.

I would be glad to provide the source code to anyone who is interested (I don't have a website so I can only email it). At this time there is no ./configure or make install but a simple handmade ./build script. Also it is version 0.0.1 and only tested on kernel 2.6.8.1, requires ACPI and hasn't been tested for things like dodgy configuration files. 

And for my next piece of software a gEdit plugin to provide C/C++/C# project management and compilation support...

----------

## spudicus

 *timhick wrote:*   

> I have a Samsung Q10 and it get's quite hot when busy (~75C) - a little to hot for it to be comfortable. So I read the cpufreqd source code and wrote my own from scratch that includes support for scaling CPU frequency based on the system temperature

  It may be worth reading the speedfreqd source code as well, due to the fact that it's written for 2.6 kernels.

----------

