How to Reduce Laptop CPU Temperature Overheating In Linux?
I’m going to show you a live Playbook and some simple Ansible code.
I’m Luca Berton and welcome to today’s episode of Ansible Pilot.
Reduce Intel Laptop CPU Temperature Overheating In Linux
Today we’re talking about the open source project “Linux thermal daemon” (thermald
) that monitors and controls the temperature in laptops, tablets PC with the latest Intel sandy bridge and latest Intel CPU releases.
The thermald tool operates in two modes:
- Zero Configuration Mode
For most users, this should be enough to bring the CPU temperature of the system under control. This uses a DTS temperature sensor and uses Intel P state driver, Power clamp driver, Running Average Power Limit control, and cpufreq as cooling methods.
- User-defined configuration mode
This allows ACPI-style configuration in a thermal XML configuration file. This can be used to fix the buggy ACPI configuration or fine-tune it by adding more sensors and cooling devices. This is the first step in implementing a close loop thermal control in user mode and can be enhanced based on community feedback and suggestions.
It’s available as a package “thermald” for the most used distribution today.
Please note that this service might degrade laptop performance byslowing the CPU.
Ansible Install a package in Linux
- ansible.builtin.package
- Generic OS package manager Today we’re talking about the Ansible module package.
The full name is ansible.builtin.package, which means it is part of the collection of modules “builtin” with ansible and shipped with it.
These modules are pretty stable and out for years.
Its purpose is to act as a Generic OS package manager.
Parameters
- name string — name or package specific
- state string — present / installed/ absent /removed / latest The most important parameters are “name” and “state”.
In the name
parameter you are going to specify the name of the package or the specific version you would like to install.
The state
specifies the action that we would like to perform. In our case install is “present or installed”.
Links
- https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_module.html
- https://www.phoronix.com/scan.php?page=article&item=intel-thermald-tgl&num=1
- https://wiki.debian.org/thermald
Playbook
Let’s jump into a real-life playbook to install the thermald package and start the zero-configuration service in Linux using the Ansible Playbook.
code
---
- name: thermald Playbook
hosts: all
become: true
tasks:
- name: thermald installed
ansible.builtin.package:
name: thermald
state: present
- name: thermald running
ansible.builtin.service:
name: thermald
state: started
enabled: true
execution
ansible-pilot $ ansible-playbook -i virtualmachines/demo/inventory thermald.yml
PLAY [thermald Playbook] **************************************************************************************
TASK [Gathering Facts] ************************************************************************************
ok: [demo.example.com]
TASK [thermald installed] *********************************************************************************
changed: [demo.example.com]
TASK [thermald running] ***********************************************************************************
changed: [demo.example.com]
PLAY RECAP ************************************************************************************************
demo.example.com : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
idempotency
ansible-pilot $ ansible-playbook -i virtualmachines/demo/inventory thermald.yml
PLAY [thermald Playbook] **************************************************************************************
TASK [Gathering Facts] ************************************************************************************
ok: [demo.example.com]
TASK [thermald installed] *********************************************************************************
ok: [demo.example.com]
TASK [thermald running] ***********************************************************************************
ok: [demo.example.com]
PLAY RECAP ************************************************************************************************
demo.example.com : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
before execution
[root@demo devops]# dnf list thermald
Updating Subscription Management repositories.
Available Packages
thermald.x86_64 2.4.6-1.el8 rhel-8-for-x86_64-appstream-rpms
[root@demo devops]#
after execution
[root@demo devops]# dnf list thermald
Updating Subscription Management repositories.
Installed Packages
thermald.x86_64 2.4.6-1.el8 @rhel-8-for-x86_64-appstream-rpms
Conclusion
Now you know how to reduce Intel Laptop CPU Temperature Overheating In Linux using the ansible module package and Thermald. Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.
Academy
Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate