Verwenden Sie das Terminal, um die aktuelle Lüftergeschwindigkeit abzurufen? [Duplikat]

Ich möchte die aktuellen Lüftergeschwindigkeiten meines MacBook und iMac über das Terminal anzeigen. Ich habe festgestellt, dass das Ausführen spindumpdann cat /tmp/spindump.txt | grep "Fan speed"es zeigt, aber das ist sehr langsam und prozessorintensiv. Ich hätte gerne einen schnelleren und effizienteren Weg, dies zu tun.

Ich würde lieber keine Software von Drittanbietern installieren, aber ich werde es tun, wenn es der einzige Weg ist.

Hat jemand einen Vorschlag, wie ich das bewerkstelligen könnte?

Danke

Der Punkt ist, dass Apple ab Mavericks keine Möglichkeit bietet, SMC-verwaltete Informationen abzufragen. Daher wäre der beste Weg, smcFanControl zu verwenden, das eigentlich viel mehr als nur eine fac-Steuerung ist.
Ich verwende smcFanControl, aber gibt es eine Möglichkeit, vom Terminal aus auf seine Informationen zuzugreifen? Das interessiert mich am meisten.
Sie können das Befehlszeilentool von smcFanControl smcverwenden, um die Lüftergeschwindigkeit abzurufen; github.com/hholtmann/smcFanControl/tree/master/smc-command
Du bist fast am Ziel. spindump hat eine Manpage ( man spindump) und Sie können die Zeit einstellen, die es zum Ausführen benötigt. Die Antwort ist unten.

Antworten (7)

smcFanControl

Sie erwähnen in Ihren Kommentaren, dass smcFanControl installiert ist; Dieses Open-Source-Projekt enthält das Befehlszeilentool smc. Sie können verwenden smc, um Informationen zur Lüftergeschwindigkeit über Terminal.app zu erhalten:

smc -f

Weitere Optionen finden Sie auf der Handbuchseite von smc .

Seit Mac OS X 10.5 müssen Sie eine Software eines Drittanbieters verwenden, um auf die Informationen zur Lüftergeschwindigkeit zuzugreifen. Es scheint, dass kein Tool, das standardmäßig auf OS X installiert ist, diese Informationen über das Terminal verfügbar macht.

Das Open-Source-Projekt Fan Control enthält ein Befehlszeilentool, das Informationen zur Lüftergeschwindigkeit bereitstellt. Dieser Artikel, OS X: Aktuelle CPU-Temperatur in der Befehlszeile , spricht über das Projekt und wie man die Lüftergeschwindigkeit extrahiert:

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";'

Vermeiden Sie Spindumps

spindumperfordert Administratorrechte und wenn es manuell ausgeführt wird, testet Spindump Benutzer- und Kernel-Stacks für jeden Prozess im System. Dies ist ein rechenintensiver Prozess, selbst wenn er nur eine Sekunde lang ausgeführt wird.

Alternativen

Andere Tools und Anwendungen sind vorhanden, einschließlich Temperature Monitor . Siehe Kann ich die CPU-Temperatur und Lüftergeschwindigkeit über die Befehlszeile in OS X abrufen?

Vor Mac OS X 10.5

Dieser Artikel, Sensorinformationen abrufen , zeigt, wie Sie ioregdie Informationen zur Lüftergeschwindigkeit extrahieren können mit:

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

Der obige Artikel und das darin enthaltene Skript wurden für Mac OS X 10.4.3 entwickelt.

Siehe auch:

Der Temperaturmonitor von Bresink (den ich verwende) ist zum Lesen der Temperatur kostenlos, benötigt jedoch eine Lizenz zum Lesen anderer Sensoren (z. B. Lüftergeschwindigkeit).
Es ist gut, funktioniert aber nur über die Befehlszeile. Um die Anwendung zu finden, gehen Sie zu:cd /Applications/smcFanControl.app/Contents/Resources/
brew install Caskroom/cask/smcfancontrolund die Verwendung erfordert auch ein Passwort.

Auf Mojave scheint Spindump die Lüftergeschwindigkeit nicht aufzulisten. Ich habe jedoch bemerkt, dass Powermetrics dies tut. Versuche sudo powermetrics -i 200 --samplers smc | grep Fanstattdessen zu laufen.

Ich habe es gerade versucht, aber keine Ausgabe bezüglich der Lüftergeschwindigkeit erhalten, auch die Manpage zeigt nichts an. Wie genau funktioniert das auf Ihrem Mac?
powermetrics benötigt einige Sekunden, um die Lüftergeschwindigkeit zu generieren, also lassen Sie es laufen, bis es die SMC abtastet. In der Manpage für Powermetrics auf 10.14.4 sehe ich Folgendes unter dem Abschnitt „Output description“: „SMC: The smc sampler zeigt Informationen an, die vom System Management Controller bereitgestellt werden. Auf unterstützten Plattformen gehören dazu die Lüftergeschwindigkeit und Informationen von verschiedenen Temperatursensoren ." Mein System ist ein 2018 MacBookPro15,1.
unable to get smc valuesAh, aus irgendeinem Grund kann es auf meinem Mac Mini ( ) keine SMC-Werte lesen .
sudo powermetrics -i 1 -n 1 --samplers smcfür ein schnelleres Ergebnis. Powermetrics hat standardmäßig eine Verzögerung/ein Intervall von 5 Sekunden.
Dies funktionierte bei mir auch auf einem MacBookPro 11,5 mit Yosemite. Erhaltene Lüftergeschwindigkeit sowie Temperaturen für CPU und GPU.
„smc-Werte können nicht abgerufen werden“ auf MacBookPro9,2 mit 10.14.6.

Oneliner - gibt nach 1 Sekunde mit Spindump eine Ausgabe aus

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

Jeder einzelne Teil erklärt:

SD=~/.spindump.txt: Erstellen Sie eine Variable mit dem .spindump.txt-Protokoll

sudo rm $SD: Bereinigen Sie Ihre tmp-Datei mit sudo-Rechten, da die Datei von sudo spindump erstellt wurde.

sudo spindump 1 1 -file $SD: Führen Sie Spindump als root (es läuft nur als root) für 1 Sekunde in 1 Intervall aus und geben Sie die Datei an Ihr $SD aus

grep "Fan speed" $SD: Holen Sie sich die Zeile, die "Lüftergeschwindigkeit" sagt

Es ist sehr bedauerlich, dass wir sudo-Rechte benötigen, um dieses Skript auszuführen.


> 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
Ich verwende 10.8.5 auf einem iMac und mein Spindump-Bericht enthält keine Erwähnung von „Lüftergeschwindigkeit“ oder sogar „Lüfter“.
Ich verwende 10.9.1. Ich kann meine 'Version' von Spindump nicht finden, aber meine Lüftergeschwindigkeit liegt in den ersten 20 Zeilen.
bist du auf einem laptop oder desktop?
@aaaidan Ich verwende einen Mac Mini (Hardwaremodell: Macmini5,3) und eine MBP-Retina (Hardwaremodell: MacBookPro11,1). Beide haben die Variable "Lüftergeschwindigkeit" in ihrer Ausgabe.
Finde das nicht zuverlässig. Auf meinem Macbook muss ich das Touch-Teil herausnehmen, damit es funktioniert, aber dann funktioniert der rm nicht. Auch wenn ich laufe: sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txtBeim einen Versuch klappt es, beim nächsten Versuch klappt es nicht
@markhunte, ich hatte die gleichen Probleme. Ich hoffe, mein letztes Update behebt Ihr Problem.
Es hat es behoben Prost. Schade, dass es anscheinend keine Möglichkeit gibt, die Standardausgabe von Spindump nach Standarddin zu leiten
Ich sehe auch nicht die Zeichenfolge "Lüftergeschwindigkeit". OS X 10.6 auf einem iMac.
Übrigens möchte ich die Lüftergeschwindigkeit, weil der Lüfter manchmal laut wird ...
@Michael, für dich könnte eidac.de funktionieren: smcFanControl

Versuchen Sie es sudo powermetrics -s smc. Um die Aktualisierungsrate zu ändern, verwenden Sie sudo powermetrics -s smc -i <milliseconds>.

Verwenden Sie das powermetricsintegrierte Tool und fragen Sie nach einem einzelnen Beispiel ( -i 1 -n 1), um eine schnelle Antwort zu erhalten.

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

Ich habe einen MBA mit SMC-Problemen und diese App löst mein Problem. Das smcFanControl funktioniert bei mir nicht und ich habe auch FanControl ausprobiert. In GNU/Linux kann ich die Max- und Min-Werte über das Terminal einstellen, also muss ich dasselbe in einem Unix-System tun, wenn ich es in GNU/Linux kann. Diese App ist Macs Fan Control https://github.com/crystalidea/macs-fan-control/releases/download/v1.4.12/macsfancontrol.zip

Ich hoffe, dass ich auch für Sie arbeite

Klicken Sie dreimal auf Folgendes, kopieren Sie es und fügen Sie es in Terminal ein:

sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txt;sudo rm /tmp/spindump.txt

Es sollte die Lüftergeschwindigkeit ausgeben.

In der Frage sagt er, dass er genau das nicht tun will.
Außerdem wurde die Frage letztes Jahr vollständig beantwortet.
Ich möchte meine Stimme zu @Spotlight hinzufügen.
@Greg - Willkommen bei Ask Different. Die Community kann hier manchmal etwas brutal erscheinen, was für neue Benutzer wie Sie etwas abschreckend sein kann. Ich begrüße Ihre Bemühungen, einen Beitrag zu leisten, und möchte Sie auf unser Hilfe-Center hinweisen: Wie man antwortet, als Ressource zum Schreiben von Antworten, die Ansichten und Stimmen anziehen wird. Lassen Sie sich durch die negativen Stimmen bei Ihrer ersten Antwort nicht davon abhalten, in Zukunft Beiträge zu leisten.