Usando o terminal para obter a velocidade atual do ventilador?

27

Gostaria de ver as velocidades atuais dos ventiladores do meu MacBook e iMac usando o terminal. Descobri que a execução spindump, em seguida, cat /tmp/spindump.txt | grep "Fan speed"vai mostrá-lo, mas isso é muito lento e processador. Eu gostaria de uma maneira mais rápida e eficiente de fazer isso.

Prefiro não instalar software de terceiros, mas instalarei se for o único caminho.

Alguém tem alguma sugestão de como eu posso conseguir isso?

obrigado

Joseph
fonte
2
A questão é que, a partir do Mavericks, a Apple não fornece uma maneira de consultar informações gerenciadas pela SMC. Assim, a melhor maneira seria usar smcFanControl, que na verdade é muito mais do que apenas um controle fac.
Max Ried
11
Eu uso o smcFanControl, mas existe alguma maneira de acessar suas informações do terminal? Isso é o que eu estou mais interessado.
Joseph
Você pode usar a smcferramenta de linha de comando do smcFanControl para obter a velocidade do ventilador; github.com/hholtmann/smcFanControl/tree/master/smc-command
Graham Miln
Você está quase lá. spindump possui uma página de manual ( man spindump) e você pode definir o tempo necessário para executar. A resposta está abaixo.
CousinCocaine

Respostas:

22

smcFanControl

Você menciona em seus comentários a instalação do smcFanControl ; esse projeto de código aberto inclui a ferramenta de linha de comando smc. Você pode usar smcpara obter informações sobre a velocidade do ventilador via Terminal.app:

smc -f

Veja a página de manual do smc para mais opções.

Desde o Mac OS X 10.5, você precisa usar um software de terceiros para acessar as informações de velocidade do ventilador. Parece que nenhuma ferramenta, instalada por padrão no OS X, expõe essas informações através do terminal.

O projeto de código aberto Fan Control inclui uma ferramenta de linha de comando que fornece informações sobre a velocidade do ventilador. Este artigo, OS X: Temperatura atual da CPU na linha de comando , fala sobre o projeto e como extrair a velocidade do 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";'

Evite spindump

spindumprequer privilégios de administrador e, quando executado manualmente, o spindump fornece amostras de pilhas de usuário e kernel para todos os processos do sistema. Esse é um processo computacionalmente caro, mesmo quando executado por um segundo.

Alternativas

Existem outras ferramentas e aplicativos, incluindo o Monitor de temperatura . Consulte Posso obter a temperatura da CPU e a velocidade do ventilador na linha de comando no OS X?

Pré-Mac OS X 10.5

Este artigo, obtenha informações sobre o sensor , mostra como usar ioregpara extrair as informações de velocidade do ventilador com:

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

O artigo acima e o script que ele contém foram criados para o Mac OS X 10.4.3.

Veja também:

Graham Miln
fonte
11
O Monitor de Temperatura do Bresink (que eu uso) é gratuito para leitura da temperatura, mas precisa de uma licença para ler outros sensores (por exemplo, velocidade do ventilador).
Gilby
É bom, mas funciona apenas via linha de comando, para encontrar o aplicativo, vá para:cd /Applications/smcFanControl.app/Contents/Resources/
dr.dimitru
3
brew install Caskroom/cask/smcfancontrole usá-lo também requer senha.
Nakilon
7

Oneliner - produz resultados após 1 segundo usando spindump

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

Cada parte separada explicou:

SD=~/.spindump.txt: crie uma variável com o log .spindump.txt

sudo rm $SD: limpe seu arquivo tmp usando os direitos sudo, pois o arquivo foi criado pelo sudo spindump.

sudo spindump 1 1 -file $SD: execute spindump como root (ele é executado apenas como root) por 1 segundo em 1 intervalo e envie o arquivo para o seu $ SD

grep "Fan speed" $SD: obtenha a linha que diz "Velocidade do ventilador"

É uma pena que precisamos de direitos sudo para executar 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
PrimoCocaína
fonte
Estou executando o 10.8.5 em um iMac e meu relatório spindump não inclui nenhuma menção a "Velocidade do ventilador" ou mesmo "ventilador".
aaaidan
Estou executando o 10.9.1. Não consigo encontrar minha 'versão' do spindump, mas a velocidade do meu ventilador está nas primeiras 20 linhas.
CousinCocaine
você está em um laptop ou desktop?
aaaidan
@aaaidan Estou executando um Mac Mini (modelo de hardware: Macmini5,3) e uma retina de MBP (modelo de hardware: MacBookPro11,1). Ambos têm a variável "Velocidade do ventilador" em sua saída.
CousinCocaine
11
Não encontrando isso confiável. no meu Macbook, preciso retirar a parte Touch para que ela funcione, mas a empresa não funciona. Além disso, se eu executar: sudo spindump 1 1 -file /tmp/spindump.txt > /dev/null 2>&1;grep "Fan speed" /tmp/spindump.txtUma tentar funciona ao lado experimentá-lo não
markhunte
6

No Mojave, spindump não parece listar a velocidade do ventilador. Notei que powermetrics, no entanto. Tente correr sudo powermetrics | grep Fanse você estiver no Mojave.

Supersheep
fonte
Eu apenas tentei, mas não obtive nenhuma saída em relação à velocidade do ventilador, também a página do manual não indica nada. Como exatamente isso funciona no seu Mac?
nohillside
o powermetrics leva alguns segundos para gerar a velocidade do ventilador, portanto deixe-o funcionar até obter uma amostra do SMC. Na página de manual para powermetrics na versão 10.14.4, vejo o seguinte na seção Descrição da saída: "SMC: O amostrador smc exibe informações fornecidas pelo System Management Controller. Nas plataformas suportadas, isso inclui a velocidade do ventilador e informações de vários sensores de temperatura . " Meu sistema é um MacBookPro15,1 2018.
Supersheep
Ah, por qualquer motivo, ele não consegue ler os valores SMC no meu Mac Mini ( unable to get smc values).
nohillside
2

Por isso, verifiquei recentemente os comandos possíveis com o terminal (segure esc até o prompt no terminal) e encontrei um comando que pode verificar o nível térmico da CPU da velocidade do ventilador, etc. e o comando é "powermetrics" e requer o sudo para fazer isso. Se você precisar apenas da velocidade do ventilador, poderá incluir uma opção de smapling smc como "powermetrics -s smc". A atualização é lenta, mas pode ser alterada usando a opção -i e inclui um tempo em milissegundos.

Jackson Chen
fonte
0

Eu tenho um MBA com problemas de SMC e este aplicativo resolve meu problema. O smcFanControl não funciona para mim e eu tentei o FanControl também. No GNU / Linux, eu posso definir os valores máximo e mínimo através do terminal; se puder, no GNU / Linux, tenho que fazer o mesmo em um sistema Unix. Este aplicativo é o Macs Fan Control https://github.com/crystalidea/macs-fan-control/releases/download/v1.4.12/macsfancontrol.zip

Espero trabalhar para você também

Gnorkanburg
fonte
-5

Clique três vezes no seguinte, copie-o e cole-o no Terminal:

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

Deve produzir a velocidade do ventilador.

Greg
fonte
3
Na pergunta, ele diz que não quer fazer exatamente isso.
Spotlight
3
Além disso, a pergunta foi respondida totalmente no ano passado.
Joseph
Gostaria de adicionar minha voz ao @ Spotlight's.
DA Vincent
2
@ Greg - Bem-vindo ao perguntar diferente. A comunidade pode parecer um pouco brutal aqui às vezes, o que pode ser um pouco difícil para novos usuários como você. Aplaudo seu esforço para contribuir e quis indicá-lo para nossa Central de Ajuda: Como responder como um recurso para escrever respostas que atraiam visualizações e votos positivos. Não deixe os votos negativos em sua primeira resposta dissuadi-lo de contribuir no futuro.
Allan
-5

Você pode entrar no terminal e digitar "sudo_wudo" Isso abrirá uma pasta que monitora os diferentes processos do seu computador. O "wudo" deve levá-lo ao fluxo e pressão do ar, que você pode acessar nos menus que podem mostrar o fluxo de ar no terminal. Isso funcionou muito bem para mim, e espero que você goste também!

user211382
fonte
3
-bash: sudo_wudo: command not found. Mesmo problema com sudo wudo, este é um comando que precisa ser instalado primeiro?
Nohillside