# What is the best way to monitor CPU and motherboard temp?

## Kasumi_Ninja

I have a pentium III with 512 MB Ram and a Thermaltake CPU cooler running at 1300 rpm. The Thermaltake is capable of running at 4800 rpm but this make to much noise. I would like to monitor  CPU + mobo temperature in order to see if the CPU isn't overheating during 24h compiling.

I've read several articles on the forums + Gentoo wiki and everywhere there are warnings about enabling hardware_sensors, this makes me a little hesitant to try it. Moreover most articles appear to be dated. Who can tell me what is the easiest en most safe way to monitor my CPU + motherboard temperature?

----------

## richard.scott

Hi,

Have you tried installing lm_sensor?

Once you emerge that there is a sensors-detect command that may help you configure your system.

Rich.

----------

## Kasumi_Ninja

 *richard.scott wrote:*   

> Hi,
> 
> Have you tried installing lm_sensor?
> 
> Once you emerge that there is a sensors-detect command that may help you configure your system.
> ...

 

Does this 'work out of the box'? Or do I need to compile some obscure kernel options like i2c with the risk of frying my hardware?

----------

## richard.scott

it worked first time for me, but I think I have the I2C parts compiled into my kernel   :Laughing: 

See this for more info http://www.lm-sensors.org/wiki/Kernel2.6

----------

## Kasumi_Ninja

I have taken the risk and build the  i2cmodules in my kernel. Whod knows what the sensord USEflag is for? I have included the ouput of lspci and sensors-detect, can someone verify if this ok?

Update

I emerged ksensors but the values aren't correct. According to  Ksensors the CPU is18  degrees and the motherboard is 32 degrees. Whereas the bios states that my CPU is 42 and my motherboard is 32 degrees. I have pasted the output of # sensors below.

# lspci

```
00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 02)

00:01.0 PCI bridge: Intel Corporation 82815 815 Chipset AGP Bridge (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 02)

00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 02)

00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 02)

00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #1) (rev 02)

00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus (rev 02)

00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #2) (rev 02)

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R200 QL [Radeon 8500 LE]

02:0d.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24)
```

# sensors-detect

```
# sensors-detect revision 4171 (2006-09-24 03:37:01 -0700)

This program will help you determine which kernel modules you need

to load to use lm_sensors most effectively. It is generally safe

and recommended to accept the default answers to all questions,

unless you know what you're doing.

We can start with probing for (PCI) I2C or SMBus adapters.

Do you want to probe now? (YES/no):

Probing for PCI bus adapters...

Use driver `i2c-i801' for device 0000:00:1f.3: Intel 82801BA ICH2

We will now try to load each adapter module in turn.

Module `i2c-i801' already loaded.

If you have undetectable or unsupported adapters, you can have them

scanned by manually loading the modules before running this script.

To continue, we need module `i2c-dev' to be loaded.

Do you want to load `i2c-dev' now? (YES/no):

Module loaded successfully.

We are now going to do the I2C/SMBus adapter probings. Some chips may

be double detected; we choose the one with the highest confidence

value in that case.

If you found that the adapter hung after probing a certain address,

you can specify that address to remain unprobed.

Next adapter: SMBus I801 adapter at e800

Do you want to scan it? (YES/no/selectively):

Client found at address 0x2d

Probing for `Myson MTP008'...                               No

Probing for `National Semiconductor LM78'...                No

Probing for `National Semiconductor LM78-J'...              No

Probing for `National Semiconductor LM79'...                No

Probing for `National Semiconductor LM80'...                No

Probing for `National Semiconductor LM85 or LM96000'...     No

Probing for `Analog Devices ADM1027, ADT7460 or ADT7463'... No

Probing for `SMSC EMC6D100, EMC6D101 or EMC6D102'...        No

Probing for `Analog Devices ADT7476'...                     No

Probing for `National Semiconductor LM87'...                No

Probing for `National Semiconductor LM93'...                No

Probing for `Winbond W83781D'...                            No

Probing for `Winbond W83782D'...                            No

Probing for `Winbond W83783S'...                            No

Probing for `Winbond W83792D'...                            No

Probing for `Winbond W83793R/G'...                          No

Probing for `Winbond W83791SD'...                           No

Probing for `Winbond W83627HF'...                           No

Probing for `Winbond W83627EHF'...                          No

Probing for `Winbond W83627DHG'...                          No

Probing for `Asus AS99127F (rev.1)'...                      Success!

    (confidence 8, driver `w83781d'), other addresses: 0x48 0x49

Probing for `Asus AS99127F (rev.2)'...                      No

Probing for `Asus ASB100 Bach'...                           No

Probing for `Winbond W83L784R/AR'...                        No

Probing for `Winbond W83L785R'...                           No

Probing for `Genesys Logic GL518SM Revision 0x00'...        No

Probing for `Genesys Logic GL518SM Revision 0x80'...        No

Probing for `Genesys Logic GL520SM'...                      No

Probing for `Genesys Logic GL525SM'...                      No

Probing for `Analog Devices ADM9240'...                     No

Probing for `Dallas Semiconductor DS1780'...                No

Probing for `National Semiconductor LM81'...                No

Probing for `Analog Devices ADM1026'...                     No

Probing for `Analog Devices ADM1025'...                     No

Probing for `Philips NE1619'...                             No

Probing for `Analog Devices ADM1024'...                     No

Probing for `Analog Devices ADM1029'...                     No

Probing for `Analog Devices ADM1030'...                     No

Probing for `Analog Devices ADM1031'...                     No

Probing for `Analog Devices ADM1022'...                     No

Probing for `Texas Instruments THMC50'...                   No

Probing for `VIA VT1211 (I2C)'...                           No

Probing for `ITE IT8712F'...                                No

Probing for `ALi M5879'...                                  No

Probing for `SMSC LPC47M15x, LPC47M192 or LPC47M997'...     No

Probing for `Fintek F75373S/SG'...                          No

Probing for `Fintek F75375S/SP'...                          No

Probing for `Fintek F75387SG/RG'...                         No

Probing for `Winbond W83791D'...                            No

Client found at address 0x48

Probing for `National Semiconductor LM75'...                No

Probing for `National Semiconductor LM77'...                No

Probing for `Dallas Semiconductor DS1621'...                No

Probing for `Maxim MAX6650/MAX6651'...                      No

Probing for `National Semiconductor LM92'...                No

Probing for `National Semiconductor LM76'...                No

Probing for `Maxim MAX6633/MAX6634/MAX6635'...              No

Client found at address 0x49

Probing for `National Semiconductor LM75'...                No

Probing for `National Semiconductor LM77'...                No

Probing for `Dallas Semiconductor DS1621'...                No

Probing for `National Semiconductor LM92'...                No

Probing for `National Semiconductor LM76'...                No

Probing for `Maxim MAX6633/MAX6634/MAX6635'...              No

Some chips are also accessible through the ISA I/O ports. We have to

write to arbitrary I/O ports to probe them. This is usually safe though.

Yes, you do have ISA I/O ports even if you do not have any ISA slots!

Do you want to scan the ISA I/O ports? (YES/no):

Probing for `National Semiconductor LM78' at 0x290...       No

Probing for `National Semiconductor LM78-J' at 0x290...     No

Probing for `National Semiconductor LM79' at 0x290...       No

Probing for `Winbond W83781D' at 0x290...                   No

Probing for `Winbond W83782D' at 0x290...                   No

Probing for `Winbond W83627HF' at 0x290...                  No

Probing for `Silicon Integrated Systems SIS5595'...         No

Probing for `VIA VT82C686 Integrated Sensors'...            No

Probing for `VIA VT8231 Integrated Sensors'...              No

Probing for `AMD K8 thermal sensors'...                     No

Probing for `IPMI BMC KCS' at 0xca0...                      No

Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some Super I/O chips may also contain sensors. We have to write to

standard I/O ports to probe them. This is usually safe.

Do you want to scan for Super I/O sensors? (YES/no):

Probing for Super-I/O at 0x2e/0x2f

Trying family `ITE'...                                      No

Trying family `National Semiconductor'...                   No

Trying family `SMSC'...                                     No

Trying family `VIA/Winbond/Fintek'...                       Yes

Found unknown chip with ID 0x8701

    (logical device 9 has address 0x290, could be sensors)

Probing for Super-I/O at 0x4e/0x4f

Trying family `ITE'...                                      No

Trying family `National Semiconductor'...                   No

Trying family `SMSC'...                                     No

Trying family `VIA/Winbond/Fintek'...                       No

Now follows a summary of the probes I have just done.

Just press ENTER to continue:

Driver `w83781d' (should be inserted):

  Detects correctly:

  * Bus `SMBus I801 adapter at e800'

    Busdriver `i2c-i801', I2C address 0x2d (and 0x48 0x49)

    Chip `Asus AS99127F (rev.1)' (confidence: 8)

I will now generate the commands needed to load the required modules.

Just press ENTER to continue:

If you want to load the modules at startup, generate a config file

below and make sure lm_sensors gets started at boot time; e.g

$ rc-update add lm_sensors default

To make the sensors modules behave correctly, add these lines to

/etc/modules.d/lm_sensors and run modules-update:

#----cut here----

# I2C module options

alias char-major-89 i2c-dev

#----cut here----

If you have some drivers built into your kernel, the list above will

contain too many modules. Skip the appropriate ones! You really

should try these commands right now to make sure everything is

working properly. Monitoring programs won't work until the needed

modules are loaded.

To load everything that is needed, execute the commands below...

#----cut here----

# I2C adapter drivers

modprobe i2c-i801

# Chip drivers

modprobe w83781d

# sleep 2 # optional

/usr/bin/sensors -s # recommended

#----end cut here----

Do you want to generate /etc/conf.d/lm_sensors? Enter s to specify other file na                                                                           me?

  (YES/no/s):

Done.

```

# cat /etc/conf.d/lm_sensors

```
#    /etc/conf.d/sensors - Defines modules loaded by /etc/init.d/lm_sensors

#    Copyright (c) 1998 - 2001  Frodo Looijaard <frodol@dds.nl>

#

#    This program is free software; you can redistribute it and/or modify

#    it under the terms of the GNU General Public License as published by

#    the Free Software Foundation; either version 2 of the License, or

#    (at your option) any later version.

#

#    This program is distributed in the hope that it will be useful,

#    but WITHOUT ANY WARRANTY; without even the implied warranty of

#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

#    GNU General Public License for more details.

#

#    You should have received a copy of the GNU General Public License

#    along with this program; if not, write to the Free Software

#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

#

#

# See also the lm_sensors homepage at:

#     http://www.lm-sensors.org/

#

# This file is used by /etc/init.d/lm_sensors and defines the modules to

# be loaded/unloaded. This file is sourced into /etc/init.d/lm_sensors.

#

# The format of this file is a shell script that simply defines the modules

# in order as normal variables with the special names:

#    MODULE_0, MODULE_1, MODULE_2, etc.

#

# Please note that the numbers in MODULE_X must start at 0 and increase in

# steps of 1. Any number that is missing will make the init script skip the

# rest of the modules. Use MODULE_X_ARGS for arguments.

#

# List the modules that are to be loaded for your system

#

# Generated by sensors-detect on Sat Nov 10 14:51:05 2007

# Load modules at startup

LOADMODULES=yes

# Initialize sensors at startup

INITSENSORS=yes

MODULE_0=i2c-i801

MODULE_1=w83781d

```

# cat /etc/modules.d/lm_sensors

```
# I2C module options

alias char-major-89 i2c-dev

```

# sensors

```
as99127f-i2c-0-2d

Adapter: SMBus I801 adapter at e800

VCore 1:   +1.79 V  (min =  +1.54 V, max =  +1.95 V)

VCore 2:   +1.79 V  (min =  +2.24 V, max =  +2.74 V)       ALARM

+3.3V:     +3.46 V  (min =  +2.96 V, max =  +3.62 V)

+5V:       +5.08 V  (min =  +4.49 V, max =  +5.48 V)

+12V:     +11.86 V  (min =  +9.12 V, max = +13.62 V)

-12V:     -11.70 V  (min = -14.37 V, max =  -9.60 V)

-5V:       -6.14 V  (min =  -6.00 V, max =  -4.00 V)       ALARM

fan1:        0 RPM  (min =    0 RPM, div = 2)

fan2:        0 RPM  (min =    0 RPM, div = 2)

fan3:        0 RPM  (min =    0 RPM, div = 2)

M/B Temp:    +32 C  (high =  +105 C, hyst =    +0 C)

CPU Temp:  +17.0 C  (high =  +100 C, hyst =   +92 C)

temp3:     -31.5 C  (high =  +122 C, hyst =  +121 C)

vid:      +1.750 V  (VRM Version 8.2)

alarms:

beep_enable:

          Sound alarm enabled
```

----------

## richard.scott

Sensord is a hardware sensor information logging daemon. It is a daemon that logs hardware health status to the system log with optional warnings on potential system problems.

I've not used any graphical tools for this, so don't know why ksensor is reporting odd findings   :Embarassed: 

----------

## Kasumi_Ninja

 *richard.scott wrote:*   

> Sensord is a hardware sensor information logging daemon. It is a daemon that logs hardware health status to the system log with optional warnings on potential system problems.
> 
> I've not used any graphical tools for this, so don't know why ksensor is reporting odd findings  

 

Thanks for the additional explanation. But even # sensors isn't displaying accurate information    :Sad: .

```
# sensors

as99127f-i2c-0-2d

Adapter: SMBus I801 adapter at e800

VCore 1:   +1.74 V  (min =  +1.54 V, max =  +1.95 V)

VCore 2:   +1.74 V  (min =  +2.24 V, max =  +2.74 V)       ALARM

+3.3V:     +3.46 V  (min =  +2.96 V, max =  +3.62 V)

+5V:       +5.08 V  (min =  +4.49 V, max =  +5.48 V)

+12V:     +11.92 V  (min =  +9.12 V, max = +13.62 V)

-12V:     -11.89 V  (min = -14.37 V, max =  -9.60 V)

-5V:       -6.14 V  (min =  -6.00 V, max =  -4.00 V)       ALARM

fan1:        0 RPM  (min =    0 RPM, div = 2)

fan2:        0 RPM  (min =    0 RPM, div = 2)

fan3:        0 RPM  (min =    0 RPM, div = 2)

M/B Temp:    +32 C  (high =  +105 C, hyst =    +0 C)

CPU Temp:  +29.5 C  (high =  +100 C, hyst =   +92 C)

temp3:     -31.5 C  (high =  +122 C, hyst =  +121 C)

vid:      +1.750 V  (VRM Version 8.2)

alarms:

beep_enable:

          Sound alarm enabled

```

----------

## richard.scott

I've noticed that the CPU temp is going up? 

Is it just a case of waiting a bit?

----------

## Kasumi_Ninja

 *richard.scott wrote:*   

> I've noticed that the CPU temp is going up? 
> 
> Is it just a case of waiting a bit?

 

Lol Idd. atm it is stuck at +30.0 C   :Confused: . I''ll post the results in hour. Have you looked at the ouput I posted? Is the output of # sensors-detect / # cat /etc/conf.d/lm_sensors / # cat /etc/modules.d/lm_sensors. does it look well configured? Or can i expect smoke coming out of my comp in an hour?   :Rolling Eyes: 

----------

## richard.scott

 *Aniruddha wrote:*   

> does it look well configured? Or can i expect smoke coming out of my comp in an hour?  

 

The setup scripts have always worked well for me, so I think your config should be ok.

However, I reserve the right to be wrong!   :Wink: 

I've had to upgrade to the latest ~x86 hardened-sources as my VIA board isn't supported until 2.6.19 and above!   :Embarassed: 

----------

## Kasumi_Ninja

As promised the ouput of sensors. CPU temp 13.0 C? They must be kidding   :Laughing: 

```
as99127f-i2c-0-2d

Adapter: SMBus I801 adapter at e800

VCore 1:   +1.79 V  (min =  +1.54 V, max =  +1.95 V)

VCore 2:   +1.79 V  (min =  +2.24 V, max =  +2.74 V)       ALARM

+3.3V:     +3.46 V  (min =  +2.96 V, max =  +3.62 V)

+5V:       +5.08 V  (min =  +4.49 V, max =  +5.48 V)

+12V:     +11.86 V  (min =  +9.12 V, max = +13.62 V)

-12V:     -11.70 V  (min = -14.37 V, max =  -9.60 V)

-5V:       -6.14 V  (min =  -6.00 V, max =  -4.00 V)       ALARM

fan1:        0 RPM  (min =    0 RPM, div = 2)

fan2:        0 RPM  (min =    0 RPM, div = 2)

fan3:        0 RPM  (min =    0 RPM, div = 2)

M/B Temp:    +29 C  (high =  +105 C, hyst =    +0 C)

CPU Temp:  +13.0 C  (high =  +100 C, hyst =   +92 C)

temp3:     -31.5 C  (high =  +122 C, hyst =  +121 C)

vid:      +1.750 V  (VRM Version 8.2)

alarms:

beep_enable:

          Sound alarm enabled
```

----------

## BitJam

If the temperature values change (which yours seem to do) then it is most likely that the temperature sensors are working.  They may need to be calibrated though.  

Take a look at /etc/sensors.conf and search for "as99127f".  You will see several temperature calibration formulae.  Read the comments to find the correct ones to use based on your motherboard.

----------

## Kasumi_Ninja

 *BitJam wrote:*   

> If the temperature values change (which yours seem to do) then it is most likely that the temperature sensors are working.  They may need to be calibrated though.  
> 
> Take a look at /etc/sensors.conf and search for "as99127f".  You will see several temperature calibration formulae.  Read the comments to find the correct ones to use based on your motherboard.

 

Thanks for the suggestion. What is the best way to find out which motherboard I have?

Update:

Got it emerging lshw does the trick   :Very Happy: 

Update: 2

My  otherboards is a ASUS CUSL2-C. I found some usefull info here: http://www.lm-senhttp://www.lm-sensors.org/ticket/1479sors.org/ticket/1479. I uncommented this line in sensors.conf:

```
   compute temp2 (@*30/43)+25, (@-25)*43/30
```

And now it appears to be working fine  :Very Happy: : 

```
# sensors

as99127f-i2c-0-2d

Adapter: SMBus I801 adapter at e800

VCore 1:   +1.78 V  (min =  +1.54 V, max =  +1.95 V)

VCore 2:   +1.73 V  (min =  +2.24 V, max =  +2.74 V)       ALARM

+3.3V:     +3.46 V  (min =  +2.96 V, max =  +3.62 V)

+5V:       +5.08 V  (min =  +4.49 V, max =  +5.48 V)

+12V:     +11.92 V  (min =  +9.12 V, max = +13.62 V)

-12V:     -11.57 V  (min = -14.37 V, max =  -9.60 V)

-5V:       -6.14 V  (min =  -6.00 V, max =  -4.00 V)       ALARM

fan1:        0 RPM  (min =    0 RPM, div = 2)

fan2:        0 RPM  (min =    0 RPM, div = 2)

fan3:        0 RPM  (min =    0 RPM, div = 2)

M/B Temp:    +30 C  (high =  +105 C, hyst =    +0 C)

CPU Temp:  +42.4 C  (high =   +95 C, hyst =   +89 C)

temp3:     -31.5 C  (high =  +122 C, hyst =  +121 C)

vid:      +1.750 V  (VRM Version 8.2)

alarms:

beep_enable:

          Sound alarm enabled

```

----------

## Kasumi_Ninja

Now for the big question. How do I find out if this particular  lm_sensors setup is damaging? I read conflicting reports and I am afraid that the latest hardware isn't accounted for. As you can imagine I don't feel like experimenting with my laptop. Is there a good up to date database for lm_sensors? Or some kind of warning system? Here are some warnings I found:

Hardware sensors

Just a quick note on HARDWARE Sensors: be careful activating sensors, like i2c in the kernel. On some systems this might even stop your fans from working and also can disable the ACPI system-overheat shutdown too.You can probably understand why this is not a good thing if you have the CPU heatsink fan shut off on you like mine did and the system not shut down when the CPU got to 121 C...just be careful and keep an eye out on your system if you do that.

http://gentoo-wiki.com/HOWTO_Gentoo_on_laptops#Hardware_sensors

Warnings

Warning: Do not use lm_sensors with IBM thinkpads! This will most likely hose your EEPROM. When this happens you need to go to your nearest IBM service center and have the motherboard changed!

Note: Do not have i2c_viapro and VIA686A loaded at the same time! They conflict and neither will work!

Note: lm_sensors doesn't support ALi chipsets for hardware sensors (i.e. Iwill XP333) so don't bother trying.

http://gentoo-wiki.com/HARDWARE_Sensors

----------

