Verwenden Sie das Terminal, um die aktuelle Lüftergeschwindigkeit zu erhalten?

27

Ich möchte die aktuellen Lüftergeschwindigkeiten meines MacBook und iMac mit dem Terminal anzeigen. Ich habe festgestellt, dass das Laufen es spindumpdann cat /tmp/spindump.txt | grep "Fan speed"zeigen wird, aber das ist sehr langsam und prozessorintensiv. Ich hätte gerne eine schnellere und effizientere Methode.

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

Hat jemand irgendwelche Vorschläge, wie ich das erreichen könnte?

Vielen Dank

Joseph
quelle
2
Laut Mavericks bietet Apple keine Möglichkeit, SMC-verwaltete Informationen abzufragen. Der beste Weg wäre daher, smcFanControl zu verwenden, das eigentlich weit mehr als nur ein Fac-Control ist.
Max Ried
1
Ich verwende smcFanControl, aber gibt es eine Möglichkeit, über das Terminal auf seine Informationen zuzugreifen? Das interessiert mich am meisten.
Joseph
Sie können das smcBefehlszeilentool von smcFanControl verwenden, um die Lüftergeschwindigkeit zu ermitteln. github.com/hholtmann/smcFanControl/tree/master/smc-command
Graham Miln
Du bist fast am Ziel. Spindump hat eine Manpage ( man spindump) und Sie können die Zeit einstellen, die es ausführen muss. Die Antwort ist unten.
CousinCocaine

Antworten:

22

smcFanControl

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

smc -f

Weitere Optionen finden Sie auf der smc-Handbuchseite .

Seit Mac OS X 10.5 müssen Sie Software von Drittanbietern verwenden, um auf die Informationen zur Lüftergeschwindigkeit zuzugreifen. Es scheint, als ob kein Tool, das standardmäßig unter 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. In diesem Artikel, OS X: Aktuelle CPU-Temperatur in der Befehlszeile , werden das Projekt und das Extrahieren der Lüftergeschwindigkeit beschrieben:

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 Spindump

spindumpsind Administratorrechte erforderlich und wenn manuell ausgeführt spindump für jeden Prozess im System Proben Benutzer und Kernel - Stacks. Dies ist ein rechenintensiver Prozess, selbst wenn er eine Sekunde lang ausgeführt wird.

Alternativen

Es gibt weitere Tools und Anwendungen, einschließlich der Temperaturüberwachung . Siehe Kann ich die CPU-Temperatur und die Lüftergeschwindigkeit über die Befehlszeile in OS X abrufen?

Pre-Mac OS X 10.5

Dieser Artikel, Sensorinformationen abrufen , zeigt, wie ioregdie Informationen zur Lüftergeschwindigkeit extrahiert werden:

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:

Graham Miln
quelle
1
Der Temperaturmonitor von Bresink (den ich verwende) ist zum Ablesen der Temperatur kostenlos, benötigt jedoch eine Lizenz zum Ablesen anderer Sensoren (z. B. Lüfterdrehzahl).
Gilby
Es ist gut, funktioniert aber nur über die Befehlszeile. Die Anwendung finden Sie unter:cd /Applications/smcFanControl.app/Contents/Resources/
dr.dimitru
3
brew install Caskroom/cask/smcfancontrolFür die Verwendung ist außerdem ein Kennwort erforderlich.
Nakilon
7

Oneliner - gibt die Ausgabe nach 1 Sekunde mit einem Spindump 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 Protokoll .spindump.txt

sudo rm $SD: Bereinige deine tmp-Datei mit sudo-Rechten, da die Datei von sudo spindump erstellt wurde.

sudo spindump 1 1 -file $SD: führe spindump als root aus (es läuft nur als root) für 1 Sekunde in einem Intervall und gib die Datei auf deiner $ SD aus

grep "Fan speed" $SD: Bekomme die Zeile mit der Aufschrift "Fan speed"

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
CousinCocaine
quelle
Ich verwende 10.8.5 auf einem iMac und in meinem Spindump-Bericht wird weder "Lüftergeschwindigkeit" noch "Lüfter" erwähnt.
aaaidan
Ich lasse 10.9.1 laufen. Ich kann meine 'Version' von Spindump nicht finden, aber meine Lüftergeschwindigkeit liegt in den ersten 20 Zeilen.
CousinCocaine
Bist du auf einem Laptop oder Desktop?
aaaidan
@aaaidan Ich verwende einen Mac Mini (Hardwaremodell: Macmini5,3) und eine MBP-Netzhaut (Hardwaremodell: MacBookPro11,1). Beide haben die Variable "Lüfterdrehzahl" in ihrer Ausgabe.
CousinCocaine
1
Ich finde das nicht zuverlässig. Auf meinem Macbook muss ich den Touch-Teil herausnehmen, damit er 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.txtEin Versuch
klappt, der
6

Auf Mojave scheint Spindump die Lüftergeschwindigkeit nicht aufzulisten. Bemerkte jedoch, dass Powermetrics tut. Laufen Sie, sudo powermetrics | grep Fanwenn Sie auf Mojave sind.

Superschaf
quelle
Ich habe es nur versucht, habe aber keine Ausgabe bezüglich der Lüftergeschwindigkeit erhalten, außerdem zeigt die Manpage nichts an. Wie genau funktioniert das auf deinem Mac?
Nohillside
Die Powermetrics benötigt einige Sekunden, um die Lüftergeschwindigkeit zu ermitteln. Lassen Sie sie also laufen, bis die SMC abgetastet ist. Auf der Manpage für Powermetrics unter 10.14.4 wird im Abschnitt "Output description" Folgendes angezeigt: "SMC: Der smc-Sampler zeigt Informationen an, die vom System Management Controller bereitgestellt werden. Auf unterstützten Plattformen umfasst dies die Lüftergeschwindigkeit und Informationen von verschiedenen Temperatursensoren . " Mein System ist ein 2018 MacBookPro15,1.
Superschaf
Ah, aus irgendeinem Grund können SMC-Werte auf meinem Mac Mini ( unable to get smc values) nicht gelesen werden .
Nohillside
2

Daher habe ich kürzlich Befehle überprüft, die mit dem Terminal möglich sind (halte esc bis zur Eingabeaufforderung im Terminal), und ich habe einen Befehl gefunden, mit dem die Lüftergeschwindigkeit, der CPU-Wärmestand usw. überprüft werden kann. Der Befehl lautet "powermetrics" und erfordert sudo, um dies zu tun. Wenn Sie nur die Lüftergeschwindigkeit benötigen, können Sie eine Smap-Option wie "powermetrics -s smc" hinzufügen. Es wird nur langsam aktualisiert, kann jedoch mit der Option -i geändert werden und eine Zeit in Millisekunden enthalten.

Jackson Chen
quelle
0

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. Wenn ich das in GNU / Linux kann, muss ich dasselbe in einem Unix-System tun. Diese App ist Macs Fan Control https://github.com/crystalidea/macs-fan-control/releases/download/v1.4.12/macsfancontrol.zip

Ich hoffe, auch für Sie zu arbeiten

Gnorkanburg
quelle
-5

Dreimal auf Folgendes klicken, kopieren und in Terminal einfügen:

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üfterdrehzahl ausgeben.

Greg
quelle
3
In der Frage sagt er, dass er genau das nicht tun will.
Spotlight
3
Außerdem wurde die Frage letztes Jahr vollständig beantwortet.
Joseph,
Ich möchte meine Stimme zu @ Spotlight's hinzufügen.
DA Vincent
2
@ Greg - Willkommen bei Ask Different. Die Community kann hier manchmal etwas brutal wirken, was neue Benutzer wie Sie möglicherweise abschreckt. Ich begrüße Ihre Bemühungen, einen Beitrag zu leisten, und möchte Sie auf unser Hilfezentrum hinweisen : Antworten als Ressource zum Schreiben von Antworten, die Meinungen und positive Stimmen anziehen. Lassen Sie sich nicht durch die negativen Stimmen bei Ihrer ersten Antwort von zukünftigen Beiträgen abhalten.
Allan