Core 0 temperature: Oh that core #0 temp : pcmasterrace

battery — The CPU core temperature is over 110 °C. Is it too high?


2 years, 1 month ago

27k times

Are these temperature values below the permissible level?

  • cpu
  • battery
  • overheating


The max temperature for many CPUs is listed in the 105-110°C range.
But for long-term use, you’re much better off keeping things below
80°C in general and only pushing up to 85°C at the most

To make sure your software is giving you an accurate reading you could compare the results with those of another temperature monitoring application. There are several free lightweight tools to monitor your CPU temperature, one of which is Core Temp.

It would be advisable to check your heat sink to see if it has been dislodged, or that the thermal paste is still connecting the heat sink to the CPU, as running your CPU at that temp is sure to cause damage in the long run.

The GPU temperatures that are shown in your question are not in the danger zone.


You’re well into the range that can cause permanent damage to the CPU. Most consumer electronics (including CPUs) are not designed to operate above 85 °C for any extended period of time, and most will actually shut down when they get over about 100-105 °C. Provided you have a working (and properly sized) cooling system and are not somewhere with unusually high temperatures to begin with (40 °C or higher), you should not be seeing temperatures that high no matter how hard you push the CPU.

However, I’m inclined to believe something is wrong with your system due to that insane discrepancy between reported package and core temperatures. In particular, the possibilities that come to mind are:

  • The sensor isn’t being read correctly and the core temperature is actually much lower. This is the best possible case, and it’s easy to check (try a handful of other tools for reading these sensors. Everything else reporting similar temperatures does not rule this out though, because the drivers being used to make the reading may be bad (you can check that case by booting into a live Linux environment and seeing what it says the temperatures are. I know 100% for certain that Linux reports the temperature correctly on that model of CPU because the sensor interface the CPU provides has been around since the AMD K10 days and is very well supported by Linux).
  • The sensor isn’t being read correctly, and the package temperature is actually much higher. This is extremely unlikely, because for it to be the case you have to have somehow managed to run a CPU with a 20 W TDP so hard that it got that hot. The only possibilities I can think of that would allow for that are running with no cooling system at all or running in an environment that was already unlivably hot for humans.
  • Something is wrong with one of the temperature sensors. It is not very likely, but it is still possible. If you’ve eliminated the two above possibilities, then this one can be checked by using a (good) infrared thermometer or (real) thermal camera to get an estimate of the temperature of the junction between the heat-sink and the IHS. If that reads back at close to 115 °C, then the package temperature sensor is bad (and something else is probably wrong with your CPU). If it reads back at close to the 66 °C being reported by the package temperature sensor, then either something is wrong with the core temperature sensor or the next (worst case) possibility is the case.
  • Something is physically wrong with the thermal junction inside the package between the IHS and the CPU die. This is the absolute worst case scenario, as it means your chip is essentially useless (because you quite simply cannot cool it well enough for it to be practically usable. This is also astronomically unlikely (actually, it’s beyond astronomically unlikely, it’s even beyond the unlikelihood of a SHA-256 hash collision with two randomly chosen files), but it’s still technically possible. There’s unfortunately no practical way to check this one if you’ve eliminated all the other possibilities, because delidding the CPU to manually check will make it irrelevant (and also require use of a completely different cooling system).


CPU core temperatures of more than 110 degrees is too high and make the processor stop working. If really temp is over 110 degrees system will likely crash and there could be nasty situation. HWMonitor is showing incorrect values.

Go to your BIOS and check temperatures there, and if BIOS also says nothing this could be indicative that your Motherboard dosen’t have any temperature sensors, thus explaining why HWMonitor is showing strange values.

If the temperature is high, then you can check the airflow, clean the dust in casing and components and check if the fan is moving properly. You can use Core Temp as the other answer suggested.


Your CPU temperature is reaching its very maximum. I think, any PC component having temperature over 100C is too much for extended period of time. It is recommended to keep it under 80C in the long run, 60-something is even better.

I always recommend to remove the original cooling fan of the CPU (which usually give you when you buy it) and buy a better cooler with bigger heatsink. I bought CoolerMaster HYPER TX3i, which is a cheap (under $30), but an effective one.

For my i3-9100F temperature with the original heatsink cooler: Idle — 65C, Load — 95 — 100C; after applying CoolerMaster: Idle — 30 — 42C, Load — 50 — 60C.


When a CPU reaches 100+ degrees, it should be restarted. If it still doesn’t’ resolve the issue, you might want to reset your PC or delete some apps. Another reason might be the heatsink or the cooler’s problem. If you don’t want to get new hardware, I recommend you turn the CPU voltage a bit lower. If I am correct, your CPU is not unlocked, so you can’t really adjust your clock speed, but beware when turning your voltage down, turn it down bit by bit. If you notice instabilities, revert the changes.

The AMD A10-7300 has a maximum operating temperature of 102°C so your system should be shutting itself down to prevent damage.

The iGPU (Radeon R6) temp of 66°C appears to be much more believable. Since this matches the «Package Temp» then I would surmise that your actual temp is 66°C since the CPU cores and iGPU are in the same housing.

Given the fact that your cores are all running well above the stock 1900 MHz and one of them running near the max 3200 MHz turbo, it tells me that the temperatures are not affecting performance. If you’re temperatures were too high then your CPU would throttle down to prevent damage.

You can download other temp monitoring software and see if you get similar results. Also, if your BIOS reports temps then you should check temps in your BIOS since that should be the most accurate reading.

The temperature you told and I am seeing from the software is actually not that high! Because it can happen if you play high-end games or video editing software and benchmark software.

Although it’s generally not an ideal temperature for a computer, but if the temperature stays while you do simple working and light or mid high works in your computer then it can be your cooling system. Which is failing!

You can use the software CPU-Z for testing your computer’s temperature and then reask the question. Because sometimes software can be faulty, but CPU-Z is one of the best!

The ideal temperature for a normal working computer is between 62-66 degree Celsius. Anything above can be bad for your motherboard and its components if not for the processor itself.

You can download CPU-Z from here: CPU-Z


Your Answer

Sign up or log in

Sign up using Google

Sign up using Facebook

Sign up using Email and Password

Post as a guest


Required, but never shown

Post as a guest


Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

One CPU Core Hotter Than Others (Causes, Fixes)


If you overclock your CPU or frequently run CPU-intensive applications, you may have noticed abnormal heating inside the CPU.

Using temperature-monitoring apps can help you keep these temps in check and make sure nothing goes above the normal threshold.

However, as these apps show you the temperature of each CPU core, you may notice that not all cores have the same temperatures.

Is it normal, or should you be worried?

This article addresses everything you need to know about CPU core temperatures.



1. Normal CPU Temps


An increase in CPU temps while the computer is in use or even idling is normal as heat is a normal by-product of computing processes.

However, there’s a certain limit to how hot your CPU cores can get because overheating can create serious problems for your PC or laptop.

When it comes to determining the normal CPU temperature range, there’s no one-size-fits-all answer since this range depends on many different factors, such as your computer’s make, components, and applications that you run at a given time.

For example, when your computer is running idle, it will have different temperatures than when you run CPU-intensive applications like games or video-editing tools.

While you should check your specific CPU brand’s normal temperature range, there’s an overall safe range to keep your CPU temps within it.

The best idling temperature for most CPUs is 40–45°C and 65–75°C while running essential apps.

However, the CPU can reach up to 90°C while playing games and running heavy programs.

In addition, laptops can run at higher temperatures because their components are more densely packed and have lower airflow.


When Should You Worry?

Although computers frequently run hot, especially under full load, there’s little to worry about.

High CPU temperatures don’t damage your CPU or motherboard because your computer has a failsafe mechanism that turns it off when it gets too hot.

That’s a helpful sign that tells you there’s something wrong with your PC components and you should take care of it.

If the computer turns off or restarts randomly or it keeps crashing under normal applications, you need to fix the issue.

That’s particularly urgent if you overclock and experience temperatures higher than 90°C since high temperatures can kill your CPU if the voltage also goes up.


2. Normal Core Temp Differences


It’s important to monitor the temperature of your CPU and each core to make sure everything is running smoothly and trouble-free.

However, as you check your CPU temps using third-party tools such as Core Temp, you may notice that each core has different temperature readings.

That’s an issue frequently reported by users who want to know if this difference in temperatures is normal or a cause for concern.

The main reason one core is running hotter than others is the way most applications work.

Most of the programs we run on computers are single-thread, meaning they only need one core to perform their tasks.

As a result, they occupy one core, which is typically the first core, and others run idle or perform heavier tasks.

One core is always working more than others.

This higher workload leads to higher temperatures, making the core different from others.

You may even notice that one of the other cores (and not necessarily the first one) is hotter because systems are different, and they may assign programs to different threads.

In addition, multi-core CPUs are designed so that one core is surrounded by others, making that core hotter than others due to lower airflow.

However, not any core temp difference is normal, and you should be worried when cores are hotter than others for more than 10 degrees.

In such cases, you should look for the possible causes of these high temperatures.

One of the primary culprits is thermal paste.

It could be old, not properly applied, or even not good quality.

The thermal paste has to be spread evenly over the heatsink, and even microscopic air bubbles under the thermal paste can cause temps to rise.

Make sure all parts are covered and the heatsink is installed correctly.


3. Reapply Thermal Paste


While there are different ways of applying thermal paste, one of the best ways, which is also the simplest, is the dot method.

You place a pea-sized dot of paste on the CPU and put the cooler on it.

Some people recommend using the line method, which means applying a line of paste on the CPU, but this can lead to less favorable results as it may not spread evenly.

Others prefer to go by the manual method, using a flat object to spread the paste because it gives you a smooth cover and helps you control the amount of paste.

However, it’s not recommended because it can create air bubbles.

Applying enough thermal paste can be tricky because today’s CPUs are bigger and may need more of that.

If you apply too little, you won’t get good results in cooling down the CPU, and applying too much will lead to messy spills.

In addition, if the thermal paste is conductive, you’ll get electric shorts and damage your motherboard.

Before applying thermal paste, clean the CPU and the heatsink with a microfiber cloth and ensure there’s no lint or old thermal paste left on the surfaces using isopropyl alcohol.

Placing the cooler is the trickiest part because you have to get it right on the first attempt.

If you don’t put it in the right place and direction, you’ll need to remove it, increasing the chances of getting air bubbles and an uneven spread.

Another thing to remember is that you should apply enough force while pressing the cooler down on the CPU.

The pressure should be small enough to avoid damaging the CPU and motherboard and big enough to get an even and smooth spread and prevent the cooler from sliding.

After applying the paste, inspect all components and ensure there’s no spill.

If you see thermal paste around the CPU, you’ve applied too much thermal paste.

In that case, you should clean off the paste and redo the entire process.


4. Delid The CPU


If reapplying thermal paste doesn’t work, you may need to take a more drastic measure, which can be scary as it’s delicate and needs a high skill level.

Delidding the CPU is a process used only by elite overlockers, but today’s delidding kits have made it much easier.

The CPU has a “lid” known as the Integrated Heat Spreader (IHS).

The heat sink on the CPU sends the heat from the CPU to the cooler.

Delidding means removing this lid and replacing thermal paste or liquid metal with more effective materials to better cool down the CPU cores than the stock thermal paste did.

Since the process is sensitive, make sure you know what you should do before and go over your CPU and thermal paste’s user manual to avoid possible mistakes.

Here’s a helpful video that shows you how to use the delidding kit components to delid your CPU.


5. Close Background Programs


While the CPU cores running hot may seem like a hardware-related issue, certain software programs can also lead to heating.

As mentioned, some CPU cores work harder than others, making them hotter.

You can lower their temperature by reducing their workload.

CPU-intensive programs running in the background can also cause CPU heating issues, including one core running hotter than others.

You could overlook the possibility of this simple cause because you may think the problem is more serious than that.

However, before trying other hardware-related methods, it’s recommended to close all background applications and monitor the temps to see if it changes anything.

Go to the Task Manager by pressing Alt + Ctrl + Del and check the Processes tab.

Go over the programs and see if you can close any of them, especially those taking up many CPU resources.

Now, run your temperature-monitoring program and see if it helps.

Another thing that can lead to CPU core heating is many temporary files containing useless data and junk files.

These files place a huge burden on the CPU cores and eat up lots of storage space.

Use an effective cleanup program to ensure your computer is junk-free.


6. Check For Faulty Sensors


Getting different temperature readings for different cores is generally a normal thing because of the way the CPU thermal sensors work.

Most of these sensors aren’t designed to give accurate readings, and their purpose is just to avoid thermal overload.

As a result, they don’t read temperatures below a certain value (around 50°C) and only give you a general indication of the CPU’s thermal state.

If the readings are different for up to 10°C, there’s nothing to worry about.

However, if you get large differences in readings and reapplying thermal paste and delidding doesn’t help eliminate the issue, you should ensure the CPU thermal sensors give you the correct readings.

That said, locating these sensors isn’t easy because every CPU manufacturer places them in a different location.

They may be on the CPU die or the interposer and you probably need to search and ask informed technicians to make sure your sensors are healthy.


7. Try General Cooling Methods


The temperature issues inside the CPU cores aren’t different from other thermal problems across the computer.

So, you can take all the measures for cooling down your PC and see if it helps.

Here’s what you can do:


A. Keep Your PC Clean

Dust buildup is one of the most important causes of overheating.

When dust accumulates on computer components, it can work as an insulator and prevent airflow inside the computer.

You need to regularly clean your PC, especially if it’s in a place with lots of dust.

Try cleaning your PC and see if the core temperature difference goes away.

Make sure to clean every nook and cranny, particularly the fans.

Be careful not to damage the sensitive components and use cotton swabs to clean tiny and hard-to-reach areas.

You could also use canned air to drive out the dust from the areas you can’t see.

By cleaning your PC, you’ll not only address the temperature issue, but you’ll also improve your PC’s performance and speed.


B. Improve Airflow

Although computers normally do a good job of keeping their components cool, you need to help your PC perform better.

One of the best things you can do is make sure there’s enough airflow going in and out of the PC.

Avoid putting your case inside cabinets or on soft surfaces like cushions or beds.

You want to make sure the air vents in different parts of the case aren’t blocked as it can severely affect the airflow.

However, you should avoid placing your computer in areas that get a lot of air, such as in front of the window or air-conditioner.

Plus, although you may think your laptop can be fine sitting on your lap, it’s not the optimal place for it because your legs can block airflow.

Place it on a desk, table, or a cooling pad with working fans.

If your computer is in a room with poor ventilation, you should make sure cool air can circulate easily around the computer by turning on the AC.

And never put your computer in a place where it gets sunlight for too long because it can heat the computer no matter how much airflow it has.


C. Check All The Fans

The fans in both desktop and laptop computers are essential in keeping the internal parts cool.

You should always make sure they’re operating normally and keep them dust-free.

Since fans have moving parts, they can wear down over time, reducing the fan’s efficiency in cooling down the innards.

Check the fans for any physical damage, loose wires, or broken blades, particularly for unusually loud noises.

If you can’t fix the issue, you should replace the fan.

Another thing to consider is the filters on the fans if there are any.

Ensure the filters are clean and not damaged, and replace them if they don’t work properly.


D. Stay Updated

Here’s another software-related issue that can cause one core to work harder and get hot.

When your programs are outdated, they don’t run as smoothly as they should and place a lot of burden on the CPU by eating up its resources.

Look for regular Windows updates and download them automatically or manually to ensure your system is updated and free of glitches.

Another factor that can cause programs to eat up CPU resources is malware and viruses.

Windows built-in defender normally does a good job of protecting your PC against viruses.

Still, you could install a reliable antimalware and antivirus tool to prevent your PC from getting infected and remove unwanted or harmful programs.


E. Change The CPU Cooler

If the CPU cooler has lost its efficiency in cooling down the system, you can replace it with more powerful ones.

Depending on your system specs and needs, you could go for air-cooling or liquid-cooling solutions.

Liquid-cooling solutions use a liquid, which is typically a glycol solution, to circulate the system and cool it down.

Some of these cooling solutions have light indicators that show you the thermal state of the CPU and the entire PC, but you need glass side panels on your case.

You can choose among different designs, including closed-loop and open-loop consisting of a heatsink, tubes, a radiator.

The best thing about these solutions is that they don’t require much maintenance as they’re sealed and very effective.

They dissipate heat much better than their air-cooling counterparts and are much quieter because they don’t have fans like those.

However, they’re more expensive and can be prone to leakage.

On the other hand, air-cooling units merely circulate the air inside the PC using a heatsink and fan that dissipate heat from the CPU to other parts and outside.

Most stock coolers are of this type, and you can replace them with more robust and effective options to improve cooling.

These units are simpler, so you can easily upgrade them without changing the tubing or the radiator.

In addition, you can use them on almost every system since liquid cooling solutions need specific designs that not every computer has.

However, these units can lead to higher temps inside the case because they dissipate heat from the CPU inside the case.

Find Out CPU Temperature from the Command-Line

1. Overview

In this tutorial, we’ll take a look at how we can check for the CPU temperature on the Linux terminal. First, we’ll see how we can figure out the temperature of our CPUs without the help of third-party tools. Afterward, we’ll cover a couple of small useful utilities for the same purpose.

2. Finding CPU Temperature Without Third-Party Tools

On Linux, we can read almost every accessible detail related to hardware resources. These details include the count of the CPU cycles, CPU temperature, I/O usage, network usage, and more. This is all possible because Linux gives us more control over the hardware and software.

2.1. The

/sys/class Directory

The /sys directory is a virtual file system that contains a plethora of information regarding the Linux kernel and the hardware. The files inside this directory don’t actually reside on the disk. Instead, they’re only created and updated on-the-fly as we read them.

The /sys/class directory is the hierarchy of the hardware. This directory mostly contains information about the devices that are registered with the kernel.

One of the directories is called thermal, which contains temperature information of the hardware resources:

$ ls -lL /sys/class/thermal
total 0
. ..
drwxr-xr-x 3 root root 0 Apr 7 00:05 cooling_device7
drwxr-xr-x 3 root root 0 Apr 7 00:05 cooling_device8
drwxr-xr-x 4 root root 0 Apr 7 00:05 thermal_zone0
drwxr-xr-x 3 root root 0 Apr 7 00:05 thermal_zone1
drwxr-xr-x 3 root root 0 Apr 7 00:05 thermal_zone2

In this directory, we’re concerned with the thermal_zone directories. The thermal_zone directories correspond to the thermometers placed on our motherboard.

Let’s cd into the thermal_zone0 directory and check what it contains:

$ cd thermal_zone0 && ls -lL
total 0
drwxr-xr-x 2 root root    0 Apr  7 00:05 subsystem
-rw-r--r-- 1 root root 4096 Apr  7 00:55 sustainable_power
-r--r--r-- 1 root root 4096 Apr  7 00:29 temp
-r--r--r-- 1 root root 4096 Apr  7 00:29 type
-r--r--r-- 1 root root 4096 Apr  7 00:29 trip_point_0_temp

As we can see, it includes lots of files and directories. However, we’re only interested in the temp and the type files.

2.2. The

temp File

The temp file contains the actual temperature of the zone. It should contain just a single integer value:

$ cat temp

We can divide this value by 100 to get the actual temperature in Celsius. In this case, it would be 27.8 °C.

2.3. The

type File

The type file contains a value that signifies the zone to which the temperature corresponds:

$ cat type

The acpitz thermometer is located beside the CPU socket. However, we are interested in the CPU temperature. Similarly, for the CPUs, we can check the other thermal_zone directories that might contain this thermal information.

2.4. Putting It All Together

It can be tedious to check for CPU temperature this way because these directories might be different on different machines. Interestingly, the zone information is defined in the driver for the hardware resources.

For that reason, we might want to use a command that prints out this information in a readable way:

$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
acpitz        27.8°C
acpitz        29.8°C
x86_pkg_temp  38.0°C

Let’s break it down:

  • We read the type and file files from each thermal_zone directory and feed the result to paste
  • The paste command will align the lines from the corresponding files, separated by tabs
  • We pipe the output of the paste command to column, which further aligns the output into columns
  • The contents of column are then piped to sed, which replaces the values with readable temperature values

Additionally, we can create a simple shell script out of this rather long command and execute it either directly or from another script.

3. Alternative:


lm_sensors is a handy utility for monitoring temperatures, voltage, fan speed, and other hardware sensor information.

3.1. Installation

On major Linux distributions, lm_sensors should already be installed. However, if it’s not, we can use a package manager to install it from our distro’s official package repository:

# Ubuntu-like
$ apt install lm-sensors
# Fedora, RHEL, openSUSE
$ yum install lm_sensors
# Arch-like
$ pacman -S lm_sensors

Once installed, let’s verify it:

$ sensors -v
sensors version 3.6.0+git with libsensors version 3.6.0+git

3.2. Usage

We can use lm_sensors by simply typing in the sensors command:

$ sensors
Adapter: ACPI interface
temp1:        +27.8 C
temp2:        +29.8 C
Adapter: ISA adapter
Package id 0:  +40. 0 C
Core 0:        +39.0 C
Core 1:        +40.0 C

As we can see, the CPU temperature for each core is given in the Core 0 and Core 1 fields, respectively.

Moreover, if it doesn’t display the CPU temperature, we can run the sensors-detect command beforehand. The sensors-detect command will detect all the available sensors attached to the machine.

4. Alternative:


acpi is another lightweight alternative that we can use to display the temperature and battery information.

4.1. Installation

The acpi utility doesn’t ship with most distributions, so we’ll have to install it from our official package repository using the package name acpi:

# Ubuntu-like
$ apt install acpi
# Fedora, RHEL, openSUSE
$ yum install acpi
# Arch-like
$ pacman -S acpi

After the installation, let’s verify it:

$ acpi -v
acpi 1. 7

4.2. Usage

We can print out the temperature information with acpi by simply running it with the -t or –thermal option:

$ acpi -t
Thermal 0: ok, 29.8 degrees C
Thermal 1: ok, 27.8 degrees C

We can print a detailed report with the -i or –details option as well.

5. Conclusion

In this article, we covered how we can check the thermal status of our CPUs. First, we experimented with the raw thermal details provided by the Kernel in the /sys/class directory. Afterward, we used a couple of alternative tools that automate this process for us.

Authors Bottom

If you have a few years of experience in the Linux ecosystem, and you’re interested in sharing that experience with the community, have a look at our Contribution Guidelines.

lm_sensors — ArchWiki

lm_sensors (Linux monitoring sensors) is a free and open-source application that provides tools and drivers for monitoring temperatures, voltage, and fans. This document explains how to install, configure, and use lm_sensors.


  • 1 Installation
  • 2 Setup
  • 3 Running sensors
    • 3.1 Adding DIMM Temperature sensors
    • 3.2 Reading SPD values from memory modules (optional)
  • 4 Using sensor data
    • 4.1 Graphical front-ends
    • 4.2 sensord
  • 5 Tips and tricks
    • 5.1 Adjusting values
      • 5.1.1 Example 1. Adjusting temperature offsets
      • 5.1.2 Example 2. Renaming labels
      • 5.1.3 Example 3. Renumbering cores for multi-CPU systems
    • 5.2 Automatic lm_sensors deployment
    • 5.3 S.M.A.R.T. drive temperature
  • 6 Troubleshooting
    • 6.1 K10Temp module
    • 6.2 Asus B450M-A/A320M-K/A320M-K-BR motherboards
    • 6.3 Asus B450/X399/X470 motherboards with AM4 Socket
    • 6.4 Asus H97/Z97/Z170/Z370i/X570/B550 motherboards
    • 6.5 Asrock Deskmini h570
    • 6.6 Gigabyte B250/Z370/B450M/B560M/Z690 motherboards
    • 6. 7 Gigabyte GA-J1900N-D3V
    • 6.8 Laptop screen issues after running sensors-detect
    • 6.9 i2c bus errors on AMD Navi 2 GPUs


Install the lm_sensors package.

Note: More documentation is at the GitHub repository. In the future these may be installed, see FS#48354.


Use sensors-detect as root to detect and generate a list of kernel modules:

Warning: Do not use anything other than the default options (by just hitting Enter), unless you know exactly what you are doing. See #Laptop screen issues after running sensors-detect.

# sensors-detect

It will ask to probe for various hardware. The «safe» answers are the defaults, so just hitting Enter to all the questions will generally not cause any problems. This will create the /etc/conf.d/lm_sensors configuration file which is used by lm_sensors. service to automatically load kernel modules on boot.

When the detection is finished, a summary of the probes is presented.


# sensors-detect
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.
Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): 
Module cpuid loaded successfully.
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
Now follows a summary of the probes I have just done.
Just press ENTER to continue: 
Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)
Driver `lm90':
  * Bus `SMBus nForce2 adapter at 4d00'
    Busdriver `i2c_nforce2', I2C address 0x4c
    Chip `Winbond W83L771AWG/ASG' (confidence: 6)
Do you want to overwrite /etc/conf. d/lm_sensors? (YES/no): 
ln -s '/usr/lib/systemd/system/lm_sensors.service' '/etc/systemd/system/'
Unloading i2c-dev... OK
Unloading cpuid... OK

Note: A systemd service is automatically enabled if users answer YES when asked about generating /etc/conf.d/lm_sensors. Answering YES also automatically starts the service.

Running sensors

Example running sensors:

$ sensors
Adapter: ISA adapter
Core 0:       +35.0°C  (crit = +105.0°C)
Core 1:       +32.0°C  (crit = +105.0°C)
Adapter: SMBus nForce2 adapter at 4d00
temp1:        +28.0°C  (low  = -40.0°C, high = +70.0°C)
                       (crit = +85.0°C, hyst = +75.0°C)
temp2:        +37.4°C  (low  = -40.0°C, high = +70.0°C)
                       (crit = +110.0°C, hyst = +100.0°C)

Adding DIMM Temperature sensors

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: Some style issues. In particular, section should avoid first person (i.e. «In my …») and the language in some sentences can be improved for readability and compliance with Help:Style#Spelling and Help:Style#Language. (Discuss in Talk:Lm sensors)

To find the temperature sensors of DIMMs, install the i2c-tools package. Once installed, load the i2c-dev kernel module.

# modprobe i2c_dev

To show all the columns, use i2cdetect as root:

# i2cdetect -l
i2c-2	smbus     	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter
i2c-2	smbus     	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter
i2c-0	smbus     	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter

Otherwise, its output will appear as follows:

i2c-2	unknown    	SMBus PIIX4 adapter port 2 at 0b00	N/A
i2c-2	unknown    	SMBus PIIX4 adapter port 1 at 0b20	N/A
i2c-0	unknown    	SMBus PIIX4 adapter port 0 at 0b00	N/A

In my system, RAM sticks connected to the bus is SMBus 0. The i2cdetect command will show the devices that connected to the bus. The -y 0 argument means use i2c-0 smbus. You can check other buses if needed.

# i2cdetect -y 0
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- 0c -- -- -- 
10: 10 -- -- -- -- -- -- -- 18 19 -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4f 
50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- 77

RAM SPD’s are start from address 0x50 and RAM temp sensors start from 0x18 at same bus. In my system, there are 2 DIMMs available. So address of 0x18 and 0x19 are DIMMs temp sensors.

After found this info, to read temperatures of RAM sticks, we need jc42 kernel module loaded. After that you need to tell to module that which addresses are need to used. This process consists of writing module_name and address to smbus_path. For example:

# modprobe jc42
# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-0/new_device
# echo jc42 0x19 > /sys/bus/i2c/devices/i2c-0/new_device

After that your ram sticks temperature will be visible on sensors command:

Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +50.7°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +51.8°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

Reading SPD values from memory modules (optional)

To read the SPD timing values from memory modules, install the i2c-tools package. Once installed, load the eeprom kernel module.

# modprobe eeprom

Finally, view memory information with decode-dimms.

Here is partial output from one machine:

# decode-dimms
Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others
Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1
---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x583F)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 512
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     UDIMM
---=== Memory Characteristics ===---
Fine time base                                  2.500 ps
Medium time base                                0.125 ns
Maximum module speed                            1066MHz (PC3-8533)
Size                                            2048 MB
Banks x Rows x Columns x Bits                   8 x 14 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
tCL-tRCD-tRP-tRAS                               7-7-7-33
Supported CAS Latencies (tCL)                   8T, 7T, 6T, 5T
---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15. 000 ns
Minimum Row Active to Row Active Delay (tRRD)   7.500 ns
Minimum Active to Auto-Refresh Delay (tRC)      49.500 ns
Minimum Recovery Delay (tRFC)                   110.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       30.000 ns
---=== Optional Features ===---
Operable voltages                               1.5V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         No
Operating temperature range                     0-85C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              Yes
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         Not implemented
SDRAM Device Type                               Standard Monolithic
---=== Physical Characteristics ===---
Module Height (mm)                              15
Module Thickness (mm)                           1 front, 1 back
Module Width (mm)                               133. 5
Module Reference Card                           B
---=== Manufacturer Data ===---
Module Manufacturer                             Invalid
Manufacturing Location Code                     0x02
Part Number                                     OCZ3G1600LV2G     

Using sensor data

Graphical front-ends

There are a variety of front-ends for sensors data.

  • psensor — GTK application for monitoring hardware sensors, including temperatures and fan speeds. Monitors motherboard and CPU (using lm-sensors), Nvidia GPUs (using XNVCtrl), and harddisks (using hddtemp or libatasmart). || psensor
  • xsensors — X11 interface to lm_sensors. || xsensors

For specific Desktop environments:

  • Freon (GNOME Shell extension) — Extension for displaying CPU temperature, disk temperature, video card temperature , voltage and fan RPM in GNOME Shell. || gnome-shell-extension-freonAUR
  • GNOME Sensors Applet — Applet for the GNOME Panel to display readings from hardware sensors, including CPU temperature, fan speeds and voltage readings. || sensors-applet
  • lm-sensors (LXPanel plugin) — Monitor temperature/voltages/fan speeds in LXDE through lm-sensors. || sensors-lxpanel-pluginAUR
  • MATE Sensors Applet — Display readings from hardware sensors in your MATE panel. || mate-sensors-applet
  • Sensors (Xfce4 panel plugin) — Hardware sensors plugin for the Xfce panel. || xfce4-sensors-plugin
  • Thermal Monitor (Plasma 5 applet) — KDE Plasma applet for monitoring CPU, GPU and other available temperature sensors. || plasma5-applets-thermal-monitor


There is an optional daemon called sensord (included with the lm_sensors package) which can log data to a round robin database (rrd) and later visualize graphically. See the sensord(8) man page for details.

Tips and tricks

Adjusting values

In some cases, the data displayed might be incorrect or users may wish to rename the output. Use cases include:

  • Incorrect temperature values due to a wrong offset (i.e. temps are reported 20 °C higher than actual).
  • Users wish to rename the output of some sensors.
  • The cores might be displayed in an incorrect order.

All of the above (and more) can be adjusted by overriding the package provides settings in /etc/sensors3.conf by creating /etc/sensors.d/foo wherein any number of tweaks will override the default values. It is recommended to rename ‘foo’ to the motherboard brand and model but this naming nomenclature is optional.

Note: Do not edit /etc/sensors3.conf directly since package updates will overwrite any changes thus losing them.

Example 1. Adjusting temperature offsets

This is a real example on a Zotac ION-ITX-A-U motherboard. The coretemp values are off by 20 °C (too high) and are adjusted down to Intel specs.

$ sensors
Adapter: ISA adapter
Core 0:       +57.0°C  (crit = +125.0°C)
Core 1:       +55.0°C  (crit = +125.0°C)

Run sensors with the -u switch to see what options are available for each physical chip (raw mode):

$ sensors -u
Adapter: ISA adapter
Core 0:
  temp2_input: 57.000
  temp2_crit: 125.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 55.000
  temp3_crit: 125.000
  temp3_crit_alarm: 0. 000

Create the following file overriding the default values:

chip "coretemp-isa-0000"
  label temp2 "Core 0"
  compute temp2 @-20,@-20
  label temp3 "Core 1"
  compute temp3 @-20,@-20

Now invoking sensors shows the adjust values:

$ sensors
Adapter: ISA adapter
Core 0:       +37.0°C  (crit = +105.0°C)
Core 1:       +35.0°C  (crit = +105.0°C)
Example 2. Renaming labels

This is a real example on an Asus A7M266. The user wishes more verbose names for the temperature labels temp1 and temp2:

$ sensors
Adapter: SMBus Via Pro adapter at e800
temp1:        +35.0°C  (high =  +0.0°C, hyst = -128.0°C)
temp2:        +47.5°C  (high = +100.0°C, hyst = +75.0°C)

Create the following file to override the default values:

chip "as99127f-*"
  label temp1 "Mobo Temp"
  label temp2 "CPU0 Temp"

Now invoking sensors shows the adjust values:

$ sensors
Adapter: SMBus Via Pro adapter at e800
. ..
Mobo Temp:        +35.0°C  (high =  +0.0°C, hyst = -128.0°C)
CPU0 Temp:        +47.5°C  (high = +100.0°C, hyst = +75.0°C)
Example 3. Renumbering cores for multi-CPU systems

This is a real example on an HP Z600 workstation with dual Xeons. The actual numbering of physical cores is incorrect: numbered 0, 1, 9, 10 which is repeated into the second CPU. Most users expect the core temperatures to report out in sequential order, i.e. 0,1,2,3,4,5,6,7.

$ sensors
Adapter: ISA adapter
Core 0:       +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core 1:       +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core 9:       +66.0°C  (high = +85.0°C, crit = +95.0°C)
Core 10:      +66.0°C  (high = +85.0°C, crit = +95.0°C)
Adapter: ISA adapter
Core 0:       +54.0°C  (high = +85.0°C, crit = +95.0°C)
Core 1:       +56.0°C  (high = +85.0°C, crit = +95.0°C)
Core 9:       +60.0°C  (high = +85.0°C, crit = +95.0°C)
Core 10:      +61.0°C  (high = +85. 0°C, crit = +95.0°C)

Again, run sensors with the -u switch to see what options are available for each physical chip:

$ sensors -u coretemp-isa-0000
Adapter: ISA adapter
Core 0:
  temp2_input: 61.000
  temp2_max: 85.000
  temp2_crit: 95.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 61.000
  temp3_max: 85.000
  temp3_crit: 95.000
  temp3_crit_alarm: 0.000
Core 9:
  temp11_input: 62.000
  temp11_max: 85.000
  temp11_crit: 95.000
Core 10:
  temp12_input: 63.000
  temp12_max: 85.000
  temp12_crit: 95.000
$ sensors -u coretemp-isa-0004
Adapter: ISA adapter
Core 0:
  temp2_input: 53.000
  temp2_max: 85.000
  temp2_crit: 95.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 54.000
  temp3_max: 85.000
  temp3_crit: 95.000
  temp3_crit_alarm: 0.000
Core 9:
  temp11_input: 59.000
  temp11_max: 85.000
  temp11_crit: 95.000
Core 10:
  temp12_input: 59.000
  temp12_max: 85.000
  temp12_crit: 95. 000

Create the following file overriding the default values:

chip "coretemp-isa-0000"
  label temp2 "Core 0"
  label temp3 "Core 1"
  label temp11 "Core 2"
  label temp12 "Core 3"
chip "coretemp-isa-0004"
  label temp2 "Core 4"
  label temp3 "Core 5"
  label temp11 "Core 6"
  label temp12 "Core 7"

Now invoking sensors shows the adjust values:

$ sensors
Adapter: ISA adapter
Core0:        +64.0°C  (high = +85.0°C, crit = +95.0°C)
Core1:        +63.0°C  (high = +85.0°C, crit = +95.0°C)
Core2:        +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core3:        +66.0°C  (high = +85.0°C, crit = +95.0°C)
Adapter: ISA adapter
Core4:        +53.0°C  (high = +85.0°C, crit = +95.0°C)
Core5:        +54.0°C  (high = +85.0°C, crit = +95.0°C)
Core6:        +59.0°C  (high = +85.0°C, crit = +95.0°C)
Core7:        +60.0°C  (high = +85.0°C, crit = +95.0°C)

Automatic lm_sensors deployment

Users wishing to deploy lm_sensors on multiple machines can use the following to accept the defaults to all questions:

# sensors-detect --auto


M.A.R.T. drive temperature

Since kernel 5.6 the drivetemp module will report SATA/SAS temperature through hwmon, but sensors-detect does not automatically detect this so the module must be manually loaded.

# modprobe drivetemp

You should now see entries similar to this in your sensors output:

Adapter: SCSI adapter
temp1:        +33.0°C 
Adapter: SCSI adapter
temp1:        +32.0°C  (low  =  +0.0°C, high = +70.0°C)
                       (crit low =  +0.0°C, crit = +70.0°C)
                       (lowest = +29.0°C, highest = +41.0°C)

Configure automatic module loading to load the module on boot.


K10Temp module

Some K10 processors have issues with their temperature sensor. See the k10temp documentation for more information.

On affected machines the module will report «unreliable CPU thermal sensor; monitoring disabled». To force monitoring anyway, you can run the following:

# rmmod k10temp
# modprobe k10temp force=1

Confirm that the sensor is in fact valid and reliable. If it is, can edit /etc/modprobe.d/k10temp.conf and add:

options k10temp force=1

This will allow the module to load at boot.

Asus B450M-A/A320M-K/A320M-K-BR motherboards

These motherboards use a IT8655E chip, which is not supported by the it87 kernel driver, as of Nov 2020 [1]. However, it is supported by the upstream version of the kernel driver [2]. The DKMS variant is contained in it87-dkms-gitAUR.

Asus B450/X399/X470 motherboards with AM4 Socket

Some recent Asus motherboards use a ITE IT8665E chip, accessing the temperature, fan and voltage sensors may require the asus-wmi-sensors module. It is part of the mainline kernel since 5.17: load the asus-wmi-sensors kernel module which uses the UEFI interface and may require a BIOS update on some boards [3].

Alternatively, the it87 module reads the values from the chip directly, install it87-dkms-gitAUR and load the it87 kernel module.

Asus H97/Z97/Z170/Z370i/X570/B550 motherboards

With some recent Asus motherboards, fan and voltage sensor access may require the nct6775 kernel module to be loaded.

You may also need to add the following kernel parameter:


See for more information.

Note: Starting with Kernel 5.16 [4], the above kernel parameter is no longer be required for most boards and should be avoided.

Asrock Deskmini h570

The STX board of the Deskmini h570 uses a NCT6683 chip, for accessing the temperature, fan and voltage sensors the loading of nct6683 module is required.

For proper values of the nct6683 module have a module config file created:

/etc/modprobe. d/nct6683.conf
options nct6683 force=1 

Gigabyte B250/Z370/B450M/B560M/Z690 motherboards

Some Gigabyte motherboards use the ITE IT8686E, ITE8689 (for B560) or ITE8689E (for Z690) chip, which is not supported by the it87 kernel driver, as of May 2019 [5]. However, it is supported by the upstream version of the kernel driver [6]. The DKMS variant is contained in it87-dkms-gitAUR. As with #Asus H97/Z97/Z170/Z370i/X570/B550 motherboards, a kernel parameter is required before attempting to install the module:


Furthermore, supply the id of the chip when loading the module as follows:

# modprobe it87 force_id=0x8686
# modprobe it87 force_id=0x8689  # for B560
# modprobe it87 force_id=0x8628  # for Z690

Or you can load the module during boot process by creating the following two files:


For Z690

/etc/modprobe. d/it87.conf
options it87 force_id=0x8628

For others

options it87 ignore_resource_conflict=1

Once the module is loaded you can use the sensors tool to probe the chip.
Now you can also use fancontrol to control the speed step of your case fan.

Optionally installation of zenpower3-dkmsAUR may allow greater fine tuning of the motherboard’s cooling system. However, it does disable the default k10temp module.

Gigabyte GA-J1900N-D3V

This motherboard uses the ITE IT8620E chip (useful also to read voltages, mainboard temp, fan speed). As of October 2014, lm_sensors has no driver support for chip ITE IT8620E [7] [8]. lm_sensors developers had a report that the chip is somewhat compatible with the IT8728F for the hardware monitoring part. However, as of August 2016, [9] lists the IT8620E as supported.

You can load the module at runtime with modprobe:

$ modprobe it87 force_id=0x8728

Or you can load the modules during boot process by creating the following two files:

/etc/modules-load. d/it87.conf
options it87 force_id=0x8603

Once the module is loaded you can use the sensors tool to probe the chip.

Now you can also use fancontrol to control the speedsteps of your case fan.

Laptop screen issues after running sensors-detect

This is caused by lm-sensors messing with the Vcom values of the screen while probing for sensors. It has been discussed and solved at the forums already: However, make sure to read through the thread carefully before running any of the suggested commands.

i2c bus errors on AMD Navi 2 GPUs

There is currently a bug in the way the kernel handles reading the i2c bus on AMD Navi 2 GPUs. The bus currently can only be used with EEPROMs and trying to use it with other devices will cause it to fail. This can cause crashes, black screens, and even cause the card to behave oddly like unable to switch power states. Its currently advised not to scan the i2c bus if you have a Navi 2 based card. You can read more here:

Optimal CPU & GPU Temperature [PC & Laptops]

Looking for a list of Optimal GPU and CPU Temperature?

Then you’ve arrived at the right place. There can be many factors that can cause a Computer to overheat.

If you’re worried that your PC Temperature is too high, this guide will help you out to find whether it is optimal or not. And, this article applies to both the Desktops and Laptops.

I’ve mentioned the Average Temperate Range of both CPU and GPU and the safe temperature limit as well. And in case your system’s temperature is close to the max recommended value, there are various tips here that you can apply to lower down the temperature to a great extent.

How Hot Should my CPU be?

Well, the answer is not as simple as you think. Every Processor is different and depending on the ambient room temperature and the cooling solution used, the CPU Temperature may vary.

During General Usage, your CPU Temperature can have any value between 30-65 °C.

But with Extended Gaming and Heavy Usage, the temperature can easily reach a range of 65-90 °C.

How Hot is Too Hot for Your CPU?

Every Processor has a maximum safe temperature limit. I’ve listed the maximum temperature of almost all the recent Processors of Intel and AMD. You can scroll down and look for your Processor on the list.

But for most Processors, the maximum temperature limit is somewhere around 90-95 °C.

Here’s a video by Linus to help you understand Safe PC Temperatures better.

As you are now aware of the problems that can be caused due to high temperature, let’s dig into whether your CPU Temperature is too high or not.

First up, we have the Ideal & Max Temperature Range for CPUs. Later on, we will look at the optimal temperature for Graphics Cards and HDD/SSD.


  • 1     Optimal CPU Temperature
  • 2     Maximum CPU Temperature
  • 3     GPU Temperature
  • 4     Optimal Hard Disk / SSD Temperature
  • 5     How To Monitor CPU & GPU Temperature
  • 6     Cooling Solutions for PC and Laptop
  • 7     References