Lorsque je lance des applications intensives telles que blender, mon processeur peut atteindre les 80. C. Je peux manuellement désinstaller le processeur dans le BIOS, mais j'aimerais que mon ordinateur détecte lorsque la température du processeur devient trop élevée et ralentisse le processus jusqu'à ce que tout soit refroidi. Existe-t-il un moyen automatique ou même manuel de ralentir le processeur depuis Ubuntu?
De ( wiki.debian.org -thermald ), il y a un article de Debian (Ubuntu) sur thermald Un démon Linux pour refroidissement des tablettes et des ordinateurs portables. Cela ne fonctionne que pour Sandy Bridge (2e génération) et les nouveaux noyaux Intel. Une fois que la température du système atteint un certain seuil, le démon Linux active diverses méthodes de refroidissement pour tenter de refroidir le système.
Le daemon thermique Linux (thermald) surveille et contrôle la température dans les ordinateurs portables, les tablettes PC dotées du dernier Intel Sandy Bridge et des dernières versions de processeurs Intel. Une fois que la température du système atteint un certain seuil, le démon Linux active diverses méthodes de refroidissement pour tenter de refroidir le système.
Il fonctionne dans deux modes:
apt-get install thermald
De Arch Linux :
TLP vous apporte les avantages d'une gestion de l'alimentation avancée pour Linux sans avoir à comprendre tous les détails techniques. TLP est livré avec une configuration par défaut déjà optimisée pour la vie de la batterie, vous pouvez donc l'installer et l'oublier. Néanmoins, TLP est hautement personnalisable pour répondre à vos besoins spécifiques.
Veuillez lire le lien complet Arch Linux TLP ci-dessus. Certains problèmes avec Nvidia nécessitent des modifications de configuration.
Après beaucoup d'essais et d'erreurs avec d'autres paquets, j'ai eu beaucoup de succès avec TLP. Il offre un contrôle supérieur du ventilateur et fonctionne parfaitement avec thermald et p-states .
Comme ces instructions d'installation pour Ubuntu 15.04+, mentionner TLP réduit non seulement la surchauffe, mais prolonge également la durée de vie de la batterie.
Depuis l’installation de TLP, Powerclamp (décrit ci-dessous) n’a plus jamais été invoqué.
Le pilote Powerclamp =) == d'Intel est défini ici ( kernel.org - Intel Power Clamp.txt ) et fait partie de thermald décrit ci-dessus. Un devis direct pour Powerclamp à partir du lien:
Prenons le cas où la consommation électrique d’un système doit être réduite au moment de l’exécution, en raison du bilan énergétique, des contraintes thermiques ou du niveau de bruit, et où le refroidissement actif n’est pas préféré. La réduction de puissance passive gérée par logiciel doit être effectuée pour empêcher les actions matérielles conçues pour des scénarios catastrophiques.
Actuellement, les états P, les états T (modulation d'horloge) et le décalage de la CPU sont utilisés pour la régulation de la CPU.
Sur les processeurs Intel, les états C permettent de réduire efficacement la consommation d'énergie, mais jusqu'à présent, ils ne sont utilisés que de manière opportuniste, en fonction de la charge de travail. Avec le développement du pilote intel_powerclamp, la méthode de synchronisation de l'injection inactive dans tous les threads de processeur en ligne a été introduite. L’objectif est d’obtenir la résidence forcée et contrôlable dans l’État C.
Les tests/analyses ont été réalisés dans les domaines de la puissance, des performances, de l'évolutivité et de l'expérience utilisateur. Dans de nombreux cas, l’avantage évident est de mettre le CPU hors ligne ou de moduler son horloge.
Powerclamp pourrait ne se voir une fois par an que lorsque les ventilations de votre ventilateur reçoivent trop de poussière et de peluches. Alors, comment savez-vous qu'il fonctionne en arrière-plan? Utilisation:
lsmod | grep intel
Et vous devriez voir une liste semblable à ceci:
btintel 16384 1 btusb
bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
intel_rapl 20480 0
intel_powerclamp 16384 0
(.... more intel drivers ....)
snd 81920 18 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device
Si vous voyez intel_rapl
et intel_powerclamp
, vous savez que cela fonctionne et que vous attendez simplement le temps de dépasser 85 ° C.
Voici une capture d'écran où Powerclamp injecte des cycles de sommeil:
Sur ce système, la vitesse d'horloge du processeur est généralement de 2400 MHz à 3 400 MHz lorsque vous regardez une vidéo au format HTML5 et que 10 onglets Chrome sont ouverts. En règle générale, l'utilisation du processeur est d'environ 9% à 12% sur 8 processeurs. Quand les choses deviennent trop chaudes (86C) Powerclamp se déclenche et ceci se produit:
x
est compris entre 0 et 7. Pour les 8 premiers processeurs.Le pilote Powerclamp == s'exécute jusqu'à ce que le temps passe à nouveau sous la barre des 85 ° C. Pendant que le pilote est en cours d'exécution, il est possible que vous ayez une pause d'une fraction de seconde dans vos vidéos et éventuellement un décalage du clavier et de la souris d'une seconde.
De retour dans les "vieux temps froids" d'Ubuntu 14.04, Intel Turbo Boost était en panne, donc la vitesse de mon processeur fluctuait entre 1200 Mhz et 2400 Mhz. Après la mise à niveau vers Ubuntu 16.04, il passait à 3400 MHz (3,4 Ghz) car Turbo Boost fonctionnait enfin. Mais cela a aussi augmenté la chaleur.
Pour désactiver Intel Turbo Boost, utilisez:
echo "1" | Sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
Pour résoudre ce problème, j'ai sorti le placard ancien de l'ordinateur portable avec deux ventilateurs et j'ai sauté sous l'ordinateur. Cette température a chuté à 63 ° C sous la même charge de travail.
La prochaine étape sera l'air comprimé dans les évents. Après cela, la dernière étape sera un nouveau radiateur de refroidissement avec des tuyaux pour le processeur et le processeur graphique. Une bonne pâte thermique telle que l'Arctic Silver 5 est également nécessaire dans cette opération. Un nouveau ventilateur a déjà été installé l'année dernière et semble fonctionner correctement.
Purgez les évents des ventilateurs avec de l’air comprimé et les températures tombent de 63 ° C à 56 ° C. Ceci utilise toujours le pad de refroidissement pour ordinateur portable, n’oubliez pas.
Nous utilisons TLP
(décrit ci-dessus) depuis plusieurs mois maintenant, les températures sont stables autour de 50 ° C et les performances des ventilateurs sont optimales.
Parce que c’est un Dell, j’avais installé le moniteur/contrôleur de ventilateur I8K dans l’espoir d’accélérer le fonctionnement du ventilateur plus tôt et plus rapidement. Quand je tape sensors
je reçois:
$ sensors
Dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 3963 RPM
CPU: +63.0°C
Ambient: +49.0°C
GPU: +54.0°C
Other: +79.0°C
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +106.0°C)
temp2: +29.8°C (crit = +106.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +65.0°C (high = +87.0°C, crit = +105.0°C)
Core 0: +65.0°C (high = +87.0°C, crit = +105.0°C)
Core 1: +64.0°C (high = +87.0°C, crit = +105.0°C)
Core 2: +63.0°C (high = +87.0°C, crit = +105.0°C)
Core 3: +57.0°C (high = +87.0°C, crit = +105.0°C)
Ignore les intérimaires virtuels, ils sont prêts à déjeuner . Sous Ubuntu 14.04, ils étaient exacts et j’utilisais temp 1
en affichage Conky. Après la mise à niveau vers Ubuntu 16.04, je devais me référer à une troisième température non affichée sur cet écran. Pour voir le REAL temps, vous pouvez utiliser cette commande:
$ cat /sys/class/thermal/thermal_zone*/temp
27800
29800
62000
Quand je tape:
$ lsmod |grep Dell
dell_wmi 16384 0
sparse_keymap 16384 1 Dell_wmi
Dell_laptop 20480 0
Dell_smbios 16384 2 Dell_wmi,Dell_laptop
dcdbas 16384 1 Dell_smbios
Dell_smm_hwmon 16384 0
wmi 16384 1 Dell_wmi
video 40960 3 Dell_wmi,Dell_laptop,i915
Je vois le module/pilote du noyau Dell_smm_hwmon
. Lorsque je recherche ce pilote sur Google et que I8K
rapporte que les deux pilotes provoquent un blocage du système pendant une fraction de seconde toutes les 10 secondes environ. J'avais moi-même ce problème, j'ai donc dû supprimer I8K fan control .
Il existe de nombreux autres utilitaires et méthodes de refroidissement, mais cela devient TL; DR.
J'ai créé un programme juste pour ce problème. Limitez votre CPU en fonction de la température souhaitée. Cela fonctionne comme ceci:
Sudo ./temp_throttle.sh 80
Cette commande ralentira les cœurs de votre processeur lorsqu'ils atteindront 80 degrés Celsius. Lorsque la température baisse, les cœurs de la CPU pourront à nouveau fonctionner plus rapidement. Vous pouvez trouver temp_throttle here .
Pour exécuter le script principal au démarrage avec Sudo et entrer le mot de passe dans gnome-terminal, vous pouvez créer un petit script:
#!/bin/bash
cd "/path/to/the/directory/temp-throttle-stable/"
gnome-terminal -e 'Sudo ./temp_throttle.sh 80' --geometry=45x15 --hide-menubar --profile=hold
(--geometry=45x15
ouvre un petit écran de terminal; --profile=hold
utilise un profil de terminal gnome appelé "hold" qui doit déjà être créé avec l'option "Lorsque la commande se ferme: maintenez le terminal ouvert", --hide-menubar
masque les menus pour cette fenêtre)
Après l'avoir rendu exécutable, ce petit script (appelons-le temp_throttle_80.sh
) peut ensuite être ajouté à la liste de démarrage et il vous sera demandé de saisir un mot de passe au démarrage. alors, si la température mentionnée est atteinte, son action est rapportée:
vous pouvez limiter la fréquence du processeur, de manière à réduire la fréquence et à contrôler la chaleur du processeur.
cpufreq-selector -f <mention the frq u want in the Khz>