47 votes

Utiliser le terminal pour obtenir la vitesse actuelle du ventilateur ?

Je voudrais visualiser la vitesse actuelle des ventilateurs de mon MacBook et de mon iMac en utilisant le terminal. J'ai constaté que l'exécution de spindump puis cat /tmp/spindump.txt | grep "Fan speed" l'affichera, mais c'est très lent et gourmand en ressources processeur. J'aimerais trouver un moyen plus rapide et plus efficace de le faire.

Je préférerais ne pas installer de logiciels tiers, mais je le ferai si c'est le seul moyen.

Quelqu'un a-t-il une idée de la manière dont je pourrais y parvenir ?

Merci

2 votes

Le fait est qu'à partir de Mavericks, Apple ne fournit pas de moyen d'interroger les informations gérées par la SMC. La meilleure solution consiste donc à utiliser smcFanControl, qui est en fait bien plus qu'un simple contrôle de fac.

1 votes

J'utilise bien smcFanControl, mais y a-t-il un moyen d'accéder à ses informations depuis le terminal ? C'est ce qui m'intéresse le plus.

0 votes

Vous pouvez utiliser la fonction de contrôle de smcFanControl smc outil de ligne de commande pour obtenir la vitesse du ventilateur ; github.com/hholtmann/smcFanControl/tree/master/smc-command

38voto

Supersheep Points 400

Sous Mojave, spindump ne semble pas indiquer la vitesse du ventilateur. J'ai remarqué que powermetrics le fait, cependant. Essayez de lancer sudo powermetrics -i 200 --samplers smc | grep Fan à la place.

0 votes

Je viens d'essayer, mais je n'ai obtenu aucun résultat concernant la vitesse du ventilateur, et la page de manuel n'indique rien non plus. Comment cela fonctionne-t-il exactement sur votre Mac ?

1 votes

Powermetrics prend quelques secondes pour générer la vitesse du ventilateur, alors laissez-le tourner jusqu'à ce qu'il échantillonne le SMC. Dans la page de manuel de powermetrics sous 10.14.4, je vois ce qui suit dans la section Description de la sortie : "SMC : L'échantillonneur smc affiche les informations fournies par le System Management Controller. Sur les plateformes prises en charge, cela inclut la vitesse du ventilateur et les informations provenant de divers capteurs de température." Mon système est un MacBookPro15,1 de 2018.

0 votes

Ah, pour une raison quelconque, il ne parvient pas à lire les valeurs SMC sur mon Mac Mini ( unable to get smc values ).

28voto

Graham Miln Points 39606

SmcFanControl

Vous mentionnez dans vos commentaires avoir smcFanControl installé ; ce projet open source comprend l'outil de ligne de commande smc . Vous pouvez utiliser smc pour obtenir des informations sur la vitesse du ventilateur via Terminal.app :

smc -f

Voir le page de manuel smc pour plus d'options.

Depuis Mac OS X 10.5, vous devez utiliser un logiciel tiers pour accéder aux informations sur la vitesse du ventilateur. Il semble qu'aucun outil, installé par défaut sur OS X, n'expose ces informations via le terminal.

Le projet open source Contrôle du ventilateur comprend un outil en ligne de commande qui fournit des informations sur la vitesse du ventilateur. Cet article, OS X : Température actuelle du CPU en ligne de commande Le site web de la Commission européenne, qui parle du projet et de la façon d'extraire la vitesse du ventilateur :

smc -k TC0D -r | sed 's/.*bytes \(.*\))/\1/' |sed 's/\([0-9a-fA-F]*\)/0x\1/g' | perl -ne 'chomp; ($low,$high) = split(/ /); print (((hex($low)*256)+hex($high))/4/64); print "C\n";'

Éviter le spindump

spindump nécessite des privilèges d'administrateur et lorsqu'il est exécuté manuellement, spindump échantillonne les piles de l'utilisateur et du noyau pour chaque processus du système. Il s'agit d'un processus coûteux en termes de calcul, même lorsqu'il est exécuté pendant une seconde.

Alternatives

D'autres outils et applications existent, notamment Contrôle de la température . Voir Puis-je obtenir la température du CPU et la vitesse du ventilateur à partir de la ligne de commande dans OS X ?

Pré-Mac OS X 10.5

Cet article, obtenir des informations sur le capteur montre comment utiliser ioreg pour extraire l'information sur la vitesse du ventilateur :

ioreg -c IOHWSensor | grep -B3 -A11 '"type" = "fanspeed"'

L'article ci-dessus et le script qu'il contient ont été conçus pour Mac OS X 10.4.3.

Voir aussi :

1 votes

Bresink's Temperature Monitor (que j'utilise) est gratuit pour la lecture de la température, mais nécessite une licence pour lire d'autres capteurs (par exemple la vitesse du ventilateur).

0 votes

Il est bon, mais ne fonctionne que via la ligne de commande, pour trouver l'application allez à : cd /Applications/smcFanControl.app/Contents/Resources/

3 votes

brew install Caskroom/cask/smcfancontrol et son utilisation nécessite également un mot de passe.

8voto

CousinCocaine Points 9430

Oneliner - donne la sortie après 1 seconde en utilisant spindump

SD=~/.spindump.txt;sudo rm $SD;sudo spindump 1 1 -file "$SD" ;grep "Fan speed" $SD

Chaque partie distincte est expliquée :

SD=~/.spindump.txt : créer une variable avec le journal .spindump.txt

sudo rm $SD : nettoyez votre fichier tmp en utilisant les droits sudo, car le fichier a été créé par sudo spindump.

sudo spindump 1 1 -file $SD Exécuter spindump en tant que Root (il ne fonctionne qu'en tant que Root) pendant 1 seconde dans 1 intervalle et envoyer le fichier sur votre $SD.

grep "Fan speed" $SD : obtenir la ligne qui dit "Vitesse du ventilateur".

Il est très regrettable que nous ayons besoin des droits sudo pour exécuter ce script.


> SD=~/.spindump.txt;sudo rm $SD;sudo spindump 1 1 -file "$SD" ;grep "Fan speed" $SD

Password:
Sampling all processes for 1 seconds with 10 milliseconds of run time between samples
Focusing on launchd [1]
Sampling completed, processing symbols...
Spindump analysis written to file /Users/CousinCocaine/.spindump.txt
Fan speed:       2302 rpm

0 votes

J'exécute la version 10.8.5 sur un iMac et mon rapport spindump ne mentionne pas de "Fan speed" ni même de "fan".

0 votes

J'utilise la version 10.9.1. Je ne trouve pas ma "version" de spindump, mais la vitesse de mon ventilateur se trouve dans les 20 premières lignes.

0 votes

Vous êtes sur un ordinateur portable ou de bureau ?

7voto

JacksonChen666 Points 51

Essayez sudo powermetrics -s smc . Pour modifier la fréquence de rafraîchissement, utilisez sudo powermetrics -s smc -i <milliseconds> .

3voto

dolmen Points 121

Utilisez le powermetrics outil intégré, demandant un seul échantillon ( -i 1 -n 1 ) pour une réponse rapide.

$ sudo powermetrics -i 1 -n 1 --samplers smc | grep ^Fan
Fan: 2987 rpm

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X