Linux is making my ssd really hot compared to windows, making my bios saying S.M.A.R.T status is bad when using linux long enough

Joined
Jan 14, 2025
Messages
31
Reaction score
4
Credits
222
So I just bough a SSD Kingston NV2 M.2 PCIe Gen4 NVMe 512GB like last month, I used it to boot linux but then I noticed the ssd's temp raise a little too high, making the BIOS saying S.M.A.R.T status is bad, I thought the SSD is just bad and I got a faulty one, so I just go for a warrant, they told me it was perfectly fine. So I got home and just erased linux and just try to use it with windows.

And surprisingly it's never hot anymore, there's no S.M.A.R.T status or anything, it just works, so I want to try to dual boot again, and welp, it happened again, now I really know that's a linux's problem, everything just works, but the ssd is just really hot, I recently deleted linux because I was tired of it, before I deleted I asked 2 times on reddit so if you want to look into details then here:



So IDK what to do? right now I have debian in my USB but I am scared to install it to know that it still doesn't work, any help?
 


I have Linux installed on 15 home computers, and none of the hard drives are overheating.

root@absTower:~# smartctl -a /dev/nvme0n1 | grep -i Temper
Temperature: 44 Celsius
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0

root@absTower:~# smartctl -x /dev/sda | grep -i Temper
194 Temperature_Celsius PO---K 067 050 000 - 33 (Min/Max 17/50)
0x05 ===== = = === == Temperature Statistics (rev 1) ==
0x05 0x008 1 33 --- Current Temperature
0x05 0x020 1 50 --- Highest Temperature
0x05 0x028 1 17 --- Lowest Temperature

root@absTower:~# smartctl -x /dev/sdb | grep -i Temper
194 Temperature_Celsius -O---K 062 035 000 - 38 (Min/Max 16/65)
Current Temperature: 38 Celsius
Power Cycle Min/Max Temperature: 20/58 Celsius
Lifetime Min/Max Temperature: 16/65 Celsius
Under/Over Temperature Limit Count: 0/0
SCT Temperature History Version: 2
Temperature Sampling Period: 1 minute
Temperature Logging Interval: 1 minute
Min/Max recommended Temperature: 0/70 Celsius
Min/Max Temperature Limit: -5/75 Celsius
Temperature History Size (Index): 478 (213)
Index Estimated Time Temperature Celsius
0x05 ===== = = === == Temperature Statistics (rev 1) ==
0x05 0x008 1 38 --- Current Temperature
0x05 0x010 1 36 --- Average Short Term Temperature
 
I have Linux installed on 15 home computers, and none of the hard drives are overheating.

root@absTower:~# smartctl -a /dev/nvme0n1 | grep -i Temper
Temperature: 44 Celsius
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0

root@absTower:~# smartctl -x /dev/sda | grep -i Temper
194 Temperature_Celsius PO---K 067 050 000 - 33 (Min/Max 17/50)
0x05 ===== = = === == Temperature Statistics (rev 1) ==
0x05 0x008 1 33 --- Current Temperature
0x05 0x020 1 50 --- Highest Temperature
0x05 0x028 1 17 --- Lowest Temperature
root@absTower:~# smartctl -x /dev/sdb | grep -i Temper

194 Temperature_Celsius -O---K 062 035 000 - 38 (Min/Max 16/65)
Current Temperature: 38 Celsius
Power Cycle Min/Max Temperature: 20/58 Celsius
Lifetime Min/Max Temperature: 16/65 Celsius
Under/Over Temperature Limit Count: 0/0
SCT Temperature History Version: 2
Temperature Sampling Period: 1 minute
Temperature Logging Interval: 1 minute
Min/Max recommended Temperature: 0/70 Celsius
Min/Max Temperature Limit: -5/75 Celsius
Temperature History Size (Index): 478 (213)
Index Estimated Time Temperature Celsius
0x05 ===== = = === == Temperature Statistics (rev 1) ==
0x05 0x008 1 38 --- Current Temperature
0x05 0x010 1 36 --- Average Short Term Temperature
Good for you I guess, I never had this problem with my laptop as well, only when I bought my new ssd :)
 
I think I would use lsof, or top, or glances to see what processes are running and using my disk.

I use iotop and iostat, you usually have to be root to run these.
 
Last edited:
I think I would use lsof, or top, or glances to see what processes are running and using my disk.

I use iotop and iostat, you usually have to be root to run these.
I can use usb to use linux and use those commands.

I tried to test it again using usb without installing, it is still hot.

to be honest, I don't think it will show anything weird :(
 
I can use usb to use linux and use those commands.

I tried to test it again using usb without installing, it is still hot.

If Linux isn't installed on those drives, then it's not Linux causing the problem.
 
then what is? Windows works fine, only it gets hot using linux, if you tell me it's not linux then IDK what does.

I just got in usb linux and found out it's pretty normal though, the temps still raising like hell lmao.
 
then what is? Windows works fine, only it gets hot using linux, if you tell me it's not linux then IDK what does.

I just got in usb linux and found out it's pretty normal though, the temps still raising like hell lmao.
Check your Disk I/O activity.
If it is high then this will result in higher temp.

There are tools to check disk activity like htop from the terminal or GUI tool provided by your desktop environment.
 
I'd recommend using nvme-cli. To install run
Bash:
sudo apt install nvme-cli
once installed run
Code:
nvme list
to get the name of the device, it should look something like "/dev/nvme0n1" or the generic name "/dev/ng0n1" then run
Code:
sudo nvme smart-log /dev//dev/ng0n1
replace "/dev/ng0n1" with the device's name you got from "nvme list". You'll see something like this:
Code:
sudo nvme smart-log /dev/ng0n1
Smart Log for NVME device:ng0n1 namespace-id:ffffffff
critical_warning            : 0
temperature                : 36 °C (309 K)
available_spare                : 100%
available_spare_threshold        : 5%
percentage_used                : 2%
endurance group critical warning summary: 0
Data Units Read                : 18464999 (9.45 TB)
Data Units Written            : 16801109 (8.60 TB)
host_read_commands            : 97781640
host_write_commands            : 305327250
controller_busy_time            : 497
power_cycles                : 152
power_on_hours                : 3169
unsafe_shutdowns            : 92
media_errors                : 0
num_err_log_entries            : 0
Warning Temperature Time        : 0
Critical Composite Temperature Time    : 0
Temperature Sensor 1            : 36 °C (309 K)
Thermal Management T1 Trans Count    : 0
Thermal Management T2 Trans Count    : 1
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 1
As you can see, temps here are reported as low as "36º", and this thing almost always run 24/7.
Read here for more info: https://nvmexpress.org/open-source-nvme-management-utility-nvme-command-line-interface-nvme-cli/

Hope this helps. :)
 
Check your Disk I/O activity.
If it is high then this will result in higher temp.

There are tools to check disk activity like htop from the terminal or GUI tool provided by your desktop environment.

okay but when I boot the usb live, it should not have high disk I/O activity though?

I used htop and btop, stuff like that, but I just find out it's really normal though.
 
I'd recommend using nvme-cli. To install run
Bash:
sudo apt install nvme-cli
once installed run
Code:
nvme list
to get the name of the device, it should look something like "/dev/nvme0n1" or the generic name "/dev/ng0n1" then run
Code:
sudo nvme smart-log /dev//dev/ng0n1
replace "/dev/ng0n1" with the device's name you got from "nvme list". You'll see something like this:
Code:
sudo nvme smart-log /dev/ng0n1
Smart Log for NVME device:ng0n1 namespace-id:ffffffff
critical_warning            : 0
temperature                : 36 °C (309 K)
available_spare                : 100%
available_spare_threshold        : 5%
percentage_used                : 2%
endurance group critical warning summary: 0
Data Units Read                : 18464999 (9.45 TB)
Data Units Written            : 16801109 (8.60 TB)
host_read_commands            : 97781640
host_write_commands            : 305327250
controller_busy_time            : 497
power_cycles                : 152
power_on_hours                : 3169
unsafe_shutdowns            : 92
media_errors                : 0
num_err_log_entries            : 0
Warning Temperature Time        : 0
Critical Composite Temperature Time    : 0
Temperature Sensor 1            : 36 °C (309 K)
Thermal Management T1 Trans Count    : 0
Thermal Management T2 Trans Count    : 1
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 1
As you can see, temps here are reported as low as "36º", and this thing almost always run 24/7.
Read here for more info: https://nvmexpress.org/open-source-nvme-management-utility-nvme-command-line-interface-nvme-cli/

Hope this helps. :)

I already used it in my reddit post :) thanks for helping but it doesn't do anything except I can see more stats.
 
okay but when I boot the usb live, it should not have high disk I/O activity though?
If there is high I/O you need to investigate what's increasing it and then fix the problem somehow.

I used htop and btop, stuff like that, but I just find out it's really normal though.
It has to be zero activity in idle.
If that's not the problem IDK.

As an example I had high I/O activity due to having a lot of exe files on disk even though didn't use them.
 
If there is high I/O you need to investigate what's increasing it and then fix the problem somehow.


It has to be zero activity in idle.
If that's not the problem IDK.

As an example I had high I/O activity due to having a lot of exe files on disk even though didn't use them.
Hmm so let me get this straight, I got 2 ssd and for some reason there's a high I/O in one ssd but not the other? how can such thing happen? but if you really insist that it really happens then I will try to investigate it somehow, I don't really think why that's the problem but meh anything can happen. thanks for the info, will test it out later.
 
Hmm... I don't have a reason. I can't even think of a reason.

Well, I can think of a reason or three... My hunch would be that the drive is somehow optimized for NTFS and is doing more processing when the format is something else.

My thinking is that they make M.2 format thermal pads and heat sinks. Some of them are pretty slender if you're lacking in room.
 
htop will tell you which executable is causing I/O. just look at "Command" column. (most right) under I/O tab.
Make sure you sort the I/O column first to bring most intensive programs to the top.

I don't see any executable that's causing I/O, and of course the temps is still high, it will reach to 50-60 degrees like 15-20 minutes later, I will check it out.
1736882740472.png
1736882701056.png
 
Hmm... I don't have a reason. I can't even think of a reason.

Well, I can think of a reason or three... My hunch would be that the drive is somehow optimized for NTFS and is doing more processing when the format is something else.

My thinking is that they make M.2 format thermal pads and heat sinks. Some of them are pretty slender if you're lacking in room.
I don't know the problem either, I just don't know, I use linux for like 2 years now, and this is the first time I have this, nobody has this but me, I feel really lost since because of this, I am stuck using windows :( I hate windows so much but it gets the job done...
 
I would suggest checking the power supply voltages in your computer to see if they are higher than they should be. A higher voltage will cause a circuit to draw more current and produce more heat. If the USB port is supplying too much voltage it can do the same to any connected devices.

Signed,

Matthew Campbell
 
I don't see any executable that's causing I/O
You're sorting "Disk R\W" in the wrong direction, the arrow should point downwards to get most consuming programs to the top.

it will reach to 50-60 degrees
Your reports are incorrect and invalid (first screenshot).

I suggest lsblk followed by sudo smartctl -x /dev/sda | grep -i Temper like @dos2unix suggested.
making sure to replace "sda" with output of the device name from lsblk then you should get correct temps.
 
You're sorting "Disk R\W" in the wrong direction, the arrow should point downwards to get most consuming programs to the top.


Your reports are incorrect and invalid (first screenshot).

I suggest lsblk followed by sudo smartctl -x /dev/sda | grep -i Temper like @dos2unix suggested.
making sure to replace "sda" with output of the device name from lsblk then you should get correct temps.
the other way around is just "N/A", so it doesn't really matter anyways though but thanks for noticing it. I thought "N/A" is like undefined so that it will sort it the lowest, somehow the app is sorting it highest for some reason?

also you saying my reports are incorrect and invalid in the first screenshot, but if you look into reddit's post, you will see the same command, where the sensor is around 55-60 degrees.

I'm sorry if I come out aggressive, but why would I lie about my problem?

most of the commands you guys provide, reddit's posts already have it.
 

Staff online

Members online


Latest posts

Top