Linux always hotter than Windows
Hi
My Thinkpad T440P always run hotter in Linux than on Windows. The sensors command says CPU is around 50 deg C when I am surfing this forum. My left palm gets quite warm--gets sweaty, after about 15 minutes on this forum. Then, I reboot to Windows-10 (dual-boot). After about 10 minutes doing the same task of surfing this forum, my palm is no longer hot and sweaty. Windows runs cooler. I tried half-dozen distros (Mint, Manjero, Arch, Debian, Fedora, Slackware), and they are always run warmer than Windows. I even tried FreeBSD and OpenBSD. The latter is the worst. I luv to use Linux all the time, and delete Windows from my laptop. But I always find myself going back to Windows when my palm gets hot and sweaty. So, how did Lenovo tweaked Windows to have lower temperature? |
Quote:
Please use CODE tags for full command output and code (see my signature). Please show us: Code:
lspci -k |
...
|
It would be interesting for you to run a program that tells the temperatures and compare them to a similar program running under Windows.
Psensor is available as Synaptic package... Or other ways to monitor temps at: https://phoenixnap.com/kb/linux-cpu-temp |
Quote:
Code:
Code:
$ |
This laptop came with Windows-7. The Win-7 came with a Lenovo program that allows you to choose performance or long-battery profile. The program indicated choosing performance profile means the laptop will run faster and cooler but battery life will be poorer because the fan will run more often.
So, I think Lenovo tweeked Windows to make the laptop run cooler. In the winter, the heat on the palmrest is bearable. But, now summertime is here, and the palm rest is warm very quickly. We don't have A/C here. Daily high temperature recently has been in the high 70s Fahrenheit. Probably not an issue if you have A/C and set it in the low 70s all the time. |
Quote:
You run a lot of services on both windows and linux (printer, network, antivirus, whatever), the power consumption depends on these settings, not on the OS itself. As it was mentioned you need to measure that temperature and also you need to look for suspicious apps. Code:
%Cpu(s): 1.6 us, 1.6 sy, 0.0 ni, 96.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st |
What about usage habits, like: Are you using Windows in the morning, and Linux in the afternoon? Are you using Windows at a desk, and Linux while sitting on the bed or in your lap?
|
Quote:
Windows is definitely less warm. But it is not cool either. It is slightly warm. Linux is very warm. Here, I am talking about in an non-air conditioned environment. Btw, my sister's Lenovo is not warm at all. It has a metal palm rest, and it is actually feel cool even during heavy use. |
^ Not all thinkpads are built the same.
Alfred-Augustus, nothing pops out looking at your output. I suspected some sort of graphics card/driver problem, but yours seems to be an all-intel thinkpad (just like mine btw which runs linux just fine). You are using wayland, however Xwayland and konsole are running high (6% CPU). Which distro? Why KDE? It can be heavy. Why not run konsole in wayland? Also have a good read: https://www.thinkwiki.org/wiki/Category:T440p |
Quote:
I just happen to be on KDE wayland. I use Xorg also. But was seeing screen tearing on youtube with Xorg. So, I am playing around on Wayland. I think the browser on Linux is the main culprit. As soon as I fire up Firefox or Chromium, the palm rest will slowly begin to warm up. If I dont use the browser, I could spend an hour looking at my collection of photos and videos, and the palm rest would not get warm. |
Quote:
So, for a laptop the ideal scenario is that the CPU is clocked as low as it can be to accomplish the necessary/ongoing tasks, and that it scales well. This means when you do nothing, it should be at the lowest clock almost always, and stay there even if you do light tasks. If you go into more heavy tasks, it should scale up well, and not cause any issues with performance. This is accomplished with CPU frequency scaling (cpufreq/cpupower) and the tools. In my experience the default Intel_pstate scales very badly and tend to clock much higher than it needs and close to "performance" level clocking constantly. AMD has something equivilant as well, but I don't know it well, but I assume it does kind of the same. You can't deactivate Intel_pstate (and amd "state") in the Kernel, but there is an option to disable it at boot (in the bootloader at the bootloader cmdline). If you do that, frequency scaling will no longer use intel_pstate or the equivilant amd one, but rather use the more generic "acpi_cpufreq". In my experience, this is a much better option, and have in general come with 5 different kernel scaling "governors". The standard has been one called "ondemand", which is a great way to scale, and then there is a very similar one called "conservative", which is my personal favourite (because it does what ondemand does, but scales up slower). Depending on your distro and CPU, there are different ways to go about these things. But if it is an Intel CPU you can add "intel_pstate=disable" to the boot line and test out the acpi_cpufreq driver and governors instead. You can switch scaling governors in acpi_cpufreq with tools like cpufreq-set (cpufreq-info to gather info), or the other common option cpupower. It's fairly easy to deal with, so give it a try and see it it doesn't help. And you don't have to install anything. All the necessary things are generally included by default. |
Quote:
Do you mean that konsole has a wayland version and an X version? And I am running the X version in wayland? |
Quote:
In Lilo (Slackware 15), is this how I disable intel_pstate? Code:
boot: generic-5.15.38 intel_pstate=disable And then I use this to change the governor... Code:
sudo cpufreq-set -g conservative |
Quote:
https://unix.stackexchange.com/quest...lo-boot-prompt And you need to do it for each core! as root or with sudo Code:
cpufreq-set -c0 -g conservative I forgot you use Slackware, haha. In Slackware, as long as you use the intel_pstate=disable as above and it switches to the acpi_driver, you can set the governor at boot: Code:
chmod +x /etc/rc.d/rc.cpufreq You can still change things manually after that, but it's generally more convenient to have it done at boot like that. |
All times are GMT -5. The time now is 01:28 PM. |