Quantcast
GuruLinuxSoftware

Come risolvere i problemi di throttling della CPU Intel su Linux

Condividi l'articolo

Ideale per laptop e mini PC

Questo articolo descrive uno strumento che può essere utilizzato per risolvere i problemi di throttling della CPU Intel su Linux. Lo strumento è stato originariamente sviluppato per risolvere i problemi di throttling della CPU che interessano i laptop Lenovo T480 / T480s / X1C6, ma è stato confermato che funziona anche per altri laptop ed in particolar modo, con i mini PC. Personalmente, l’ho testato con successo sul mio Teclast N20Pro.

Come funziona lo strumento

Lo strumento funziona sovrascrivendo i valori predefiniti in MSR e MCHBAR ogni 5 secondi (30 secondi a batteria) per impedire al controller integrato di ripristinare questi valori ai valori predefiniti. Questo consente di forzare il limite di potenza del pacchetto CPU (PL1/2) a un valore di 44 W (29 W a batteria) e il punto di intervento della temperatura a 95 °C (85 °C a batteria).

Su sistemi in cui l’EC non ripristina i valori (ad esempio: ASUS Zenbook UX430UNR), il limite di potenza può essere modificato utilizzando il driver intel_rapl ufficiale (vedere Correzione statica per ulteriori informazioni).

Hardware testato

L’autore ha confermato che lo strumento funziona per i seguenti laptop:

  • Lenovo T470s, T480, T480s, X1C5, X1C6, X1C8, T580, L590, L490, L480, T470, X280, X390, ThinkPad Anniversary Edition 25, E590 con RX 550X, P43s, E480, E580, T14 Gen 1, P14s Gen 1, T15 Gen 1, P15s Gen 1, E14 Gen 2, X1 Extreme Gen 4
  • Dell XPS 9365, 9370, 9550, 7390 2-in-1, Latitude 7390 2-in-1, Inspiron 16 Plus 7620
  • Microsoft Surface Book 2
  • HP Probook 470 G5, Probook 450 G5, ZBook Firefly 15 G7
  • Testato personalmente anche su Teclast Mini PC N20Pro

L’autore continuerà ad aggiornare questo elenco.

Come installare lo strumento

L’installazione dello strumento varia a seconda della distribuzione Linux che si sta utilizzando. Di seguito sono riportate le istruzioni per alcune delle distribuzioni più diffuse:

Arch Linux

pacman -S throttled
sudo systemctl enable --now throttled.service

Debian/Ubuntu

sudo apt install git build-essential python3-dev libdbus-glib-1-dev libgirepository1.0-dev libcairo2-dev python3-cairo-dev python3-venv python3-wheel
git clone https://github.com/erpalma/throttled.git
sudo ./throttled/install.sh

Come gestire il servizio thermald per mantenere alte le prestazioni (Ubuntu)

Se stai riscontrando problemi di throttling della CPU, dovresti verificare che il servizio thermald non stia imponendo limiti di frequenza. Per risolvere il problema, puoi provare a fermare e disabilitare il servizio:

sudo systemctl stop thermald.service
sudo systemctl disable thermald.service

In questo modo il servizio thermald non verrà avviato automaticamente all’avvio del sistema.

Per assicurarti che rimanga disabilitato anche dopo eventuali aggiornamenti del pacchetto, puoi anche eseguire:

sudo systemctl mask thermald.service

Questo comando “maschera” il servizio, impedendone l’avvio in qualsiasi circostanza.

Una volta effettuate queste operazioni, puoi verificare lo stato del servizio throttled utilizzando il comando:

systemctl status throttled

Questo ti permetterà di controllare se il servizio responsabile del throttling della CPU è effettivamente stato disattivato correttamente.

Seguendo questi passaggi, dovresti riuscire a rimuovere i limiti di frequenza imposti da thermald, consentendo alla CPU di funzionare a pieno regime senza subire throttling.

Fedora

sudo dnf copr enable abn/throttled
sudo dnf install -y throttled
sudo systemctl enable --now throttled

openSUSE

sudo zypper install gcc make python3-devel dbus-1-glib-devel python3-cairo-devel cairo-devel python3-gobject-cairo gobject-introspection-devel
git clone https://github.com/erpalma/throttled.git
sudo ./throttled/install.sh

Gentoo

sudo emerge -av sys-power/throttled
# when using OpenRC:
rc-update add throttled default
/etc/init.d/throttled start
# when using systemd:
systemctl enable --now throttled.service

Solus

sudo eopkg it -c system.devel
sudo eopkg it git python3-devel dbus-glib-devel python3-cairo-devel libcairo-devel python3-gobject-devel
git clone https://github.com/erpalma/throttled.git
sudo ./throttled/install.sh

Void

sudo xbps-install -Sy gcc git python3-devel dbus-glib-devel libgirepository-devel cairo-devel python3-wheel pkg-config make
git clone https://github.com/erpalma/throttled.git
sudo ./throttled/install.sh

Come configurare lo strumento

La configurazione dello strumento è disponibile nel file /etc/throttled.conf. Il file di configurazione contiene due profili, AC e BATTERY, e lo strumento può essere disabilitato completamente impostando Enabled: False nella sezione GENERAL. L’undervolt viene applicato se è stato impostato un piano di tensione nel file di configurazione (sezione UNDERVOLT). Si noti che l’offset è in mV e che è supportato solo l’undervolting (cioè valori negativi).

Tutti i campi accettano valori in virgola mobile e interi.

Come monitorare lo strumento

Con il flag --monitor, lo strumento monitora costantemente lo stato di throttling, indicando la causa tra limite termico, limite di potenza, limite di corrente o cross-domain. L’ultimo è spesso legato a un evento esterno (ad esempio, dalla GPU). La frequenza di aggiornamento può essere regolata e per impostazione predefinita è di 1 secondo.

Come disinstallare lo strumento

Per interrompere e disabilitare definitivamente l’esecuzione, basta eseguire:

systemctl stop throttled.service
systemctl disable throttled.service

Se si utilizza runit invece di systemd:

sv down throttled
rm /var/service/throttled

Se si utilizza OpenRC invece di systemd:

rc-service throttled stop
rc-update del throttled default

Se è necessario rimuovere anche lo strumento dal sistema:

rm -rf /opt/throttled /etc/systemd/system/throttled.service
# per eliminare anche il file di configurazione
rm /etc/throttled.conf

Su Arch, si dovrebbe probabilmente usare pacman -R lenovo-throttling-fix-git invece.

Conclusione

Questo strumento può essere utile per risolvere i problemi di throttling della CPU Intel su Linux. Lo strumento è facile da installare e configurare e può essere monitorato per verificarne il funzionamento.

Fonte

Ti potrebbe interessare:
Segui guruhitech su:

Esprimi il tuo parere!

Ti è stato utile questo articolo? Lascia un commento nell’apposita sezione che trovi più in basso e se ti va, iscriviti alla newsletter.

Per qualsiasi domanda, informazione o assistenza nel mondo della tecnologia, puoi inviare una email all’indirizzo guruhitech@yahoo.com.

+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
(Visited 47 times, 1 visits today)
0 0 votes
Article Rating

Rispondi

0 Commenti
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x