¿Usa el terminal para obtener la velocidad actual del ventilador?


27

Me gustaría ver las velocidades actuales de los ventiladores de mi MacBook e iMac usando la terminal. He descubierto que correr spindumpa continuación, cat /tmp/spindump.txt | grep "Fan speed"lo mostrará, pero es muy lento y uso intensivo del procesador. Me gustaría una forma más rápida y eficiente de hacerlo.

Prefiero no instalar software de terceros, pero lo haré si es la única forma.

¿Alguien tiene alguna sugerencia sobre cómo podría lograr esto?

Gracias


2
El punto es que, a partir de Mavericks, Apple no proporciona una forma de consultar información administrada por SMC. Por lo tanto, la mejor manera sería usar smcFanControl, que en realidad es mucho más que un simple control de fac.
Max Ried

1
Yo uso smcFanControl, pero ¿hay alguna forma de acceder a su información desde la terminal? Eso es lo que más me interesa.
Joseph

Puede usar la smcherramienta de línea de comandos de smcFanControl para obtener la velocidad del ventilador; github.com/hholtmann/smcFanControl/tree/master/smc-command
Graham Miln

Ya casi has llegado. spindump tiene una página de manual ( man spindump) y puede configurar el tiempo que necesita para ejecutarse. La respuesta está abajo.
CousinCocaine

Respuestas:


22

smcFanControl

Usted menciona en sus comentarios que tiene instalado smcFanControl ; Este proyecto de código abierto incluye la herramienta de línea de comandos smc. Puede usar smcpara obtener información sobre la velocidad del ventilador a través de Terminal.app:

smc -f

Vea la página de manual de smc para más opciones.

Desde Mac OS X 10.5, debe utilizar un software de terceros para acceder a la información de velocidad del ventilador. Parece que ninguna herramienta, instalada por defecto en OS X, expone esta información a través del terminal.

El proyecto de código abierto Fan Control incluye una herramienta de línea de comandos que proporciona información sobre la velocidad del ventilador. Este artículo, OS X: temperatura actual de la CPU en la línea de comandos , habla sobre el proyecto y cómo extraer la velocidad del ventilador:

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

Evitar spindump

spindumprequiere privilegios de administrador y cuando se ejecuta manualmente, spindump muestrea las pilas de kernel y usuario para cada proceso en el sistema. Este es un proceso computacionalmente costoso, incluso cuando se ejecuta por un segundo.

Alternativas

Existen otras herramientas y aplicaciones, incluido el Monitor de temperatura . Consulte ¿Puedo obtener la temperatura de la CPU y la velocidad del ventilador desde la línea de comandos en OS X?

Pre-Mac OS X 10.5

Este artículo, obtener información del sensor , muestra cómo utilizar ioregpara extraer la información de velocidad del ventilador con:

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

El artículo anterior y el script que contiene fue diseñado para Mac OS X 10.4.3.

Ver también:


1
El monitor de temperatura de Bresink (que uso) es gratuito para leer la temperatura, pero necesita una licencia para leer otros sensores (por ejemplo, la velocidad del ventilador).
Gilby

Es bueno, pero funciona solo a través de la línea de comandos, para encontrar la aplicación vaya a:cd /Applications/smcFanControl.app/Contents/Resources/
dr.dimitru

3
brew install Caskroom/cask/smcfancontroly usarlo también requiere contraseña.
Nakilon

7

Oneliner - da salida después de 1 segundo usando spindump

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

Cada parte separada explica:

SD=~/.spindump.txt: crea una variable con el registro .spindump.txt

sudo rm $SD: limpia tu archivo tmp usando los derechos sudo, ya que el archivo fue creado por sudo spindump.

sudo spindump 1 1 -file $SD: ejecute spindump como root (solo se ejecuta como root) durante 1 segundo en 1 intervalo y envíe el archivo a su $ SD

grep "Fan speed" $SD: obtenga la línea que dice "Velocidad del ventilador"

Es muy lamentable que necesitemos derechos sudo para ejecutar este 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

Estoy ejecutando 10.8.5 en un iMac y mi informe de spindump no incluye ninguna mención de "Velocidad del ventilador" o incluso "ventilador".
aaaidan

Estoy ejecutando 10.9.1. No puedo encontrar mi 'versión' de spindump, pero la velocidad de mi ventilador está en las primeras 20 líneas.
CousinCocaine

¿Estás en una computadora portátil o de escritorio?
aaaidan

@aaaidan Estoy ejecutando una Mac Mini (modelo de hardware: Macmini5,3) y una retina MBP (modelo de hardware: MacBookPro11,1). Ambos tienen la variable "Velocidad del ventilador" en su salida.
CousinCocaine

1
No encontrar esto confiable. en mi Macbook tengo que sacar la parte táctil para que funcione, pero luego el rm no funciona. También si ejecuto: sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txtun intento funciona, luego intenta no funciona
markhunte

6

En Mojave, el spindump no parece enumerar la velocidad del ventilador. Sin embargo, noté que powermetrics sí. Intenta correr sudo powermetrics | grep Fansi estás en Mojave.


Acabo de intentarlo, pero no obtuve ningún resultado con respecto a la velocidad del ventilador, también la página del manual no indica nada. ¿Cómo funciona exactamente esto en tu Mac?
nohillside

powermetrics tarda unos segundos en generar la velocidad del ventilador, así que déjelo funcionar hasta que muestree el SMC. En la página de manual de powermetrics en 10.14.4, veo lo siguiente en la sección Descripción de la salida: "SMC: el muestreador smc muestra información suministrada por el controlador de gestión del sistema. En las plataformas compatibles, esto incluye la velocidad del ventilador y la información de varios sensores de temperatura ". Mi sistema es un 2018 MacBookPro15,1.
Supersheep

Ah, por alguna razón, no puede leer los valores SMC en mi Mac Mini ( unable to get smc values).
nohillside

2

Así que recientemente verifiqué los comandos posibles con el terminal (mantenga presionado esc hasta que aparezca el mensaje en el terminal) y encontré un comando que puede verificar la velocidad del ventilador del nivel térmico de la CPU, etc. y el comando es "powermetrics" y requiere sudo para hacerlo. Si solo necesita la velocidad del ventilador, puede incluir una opción smc como "powermetrics -s smc". Se actualiza lentamente, pero se puede cambiar usando la opción -i e incluir un tiempo en milisegundos.



-5

Haga clic tres veces en lo siguiente, cópielo y péguelo en la Terminal:

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

Debería dar salida a la velocidad del ventilador.


3
En la pregunta, dice que no quiere hacer exactamente esto.
Spotlight

3
Además, la pregunta fue respondida completamente el año pasado.
Joseph

Me gustaría agregar mi voz a @ Spotlight's.
DA Vincent

2
@ Greg - Bienvenido a Ask Different. La comunidad puede parecer un poco brutal aquí a veces, lo que puede ser un poco desagradable para los nuevos usuarios como usted. Aplaudo su esfuerzo por contribuir y quería señalarlo hacia nuestro Centro de ayuda: Cómo responder como un recurso para escribir respuestas que atraerá puntos de vista y votos. No permita que los votos negativos en su primera respuesta lo disuadan de contribuir en el futuro.
Allan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.