Obtenha temps da cpu do terminal usando o Cygwin?

1

Estou usando o Cygwin 64 no Windows 8 e gostaria de usar a interface bash para obter temperaturas de CPU (4 núcleos, assim como gpu temps). Isso é possível? Estou usando o aplicativo do monitor de temperatura e tenho essa interface através do Rainmaker, mas gostaria de tê-los impressos em um arquivo de texto em intervalos da minha seleção, pois quero testar alguns dos meus códigos e ver como ele aquece o computador. / p>

Alguma idéia?

    
por drjrm3 14.08.2013 / 02:11

1 resposta

1

Speed Fan tem opção de registro. Ativá-lo na configuração. Você encontrará arquivos de log no diretório onde o Speed Fan foi instalado. No meu caso foi Program Files\SpeedFan\SFLog(date).csv

Eu instalei UnixTools para Windows. Se bem entendi, Cygwin tem o mesmo tipo de recursos que UnixTools e dá a você a possibilidade de usar comandos semelhantes ao Unix no Windows.

Então, agora temos o arquivo de log (que é atualizado uma vez em 3 segundos) com todos os dados que desejamos. Podemos usá-lo para obter os últimos valores do SpeedFan com o seguinte script:

for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)

tail -n 1 "C:\Program Files\SpeedFan\SFLog%mydate%.csv" | gawk {print$2}

Primeiramente, definimos a variável mydate como a data atual formatada no estilo do registro do Speed Fan. Vamos precisar dele para encontrar o arquivo de log mais recente.

Depois disso, usamos o comando final com a opção -n 1 para obter a última linha do arquivo ( dados mais recentes).

E nós fornecemos esta linha para o comando gawk com a opção {print$2} para obter a segunda coluna 'da linha, já que a primeira' coluna 'é o registro de data e hora.

Portanto, o script irá ecoar o valor mais recente da segunda coluna do arquivo de log. Se você precisar de mais do que apenas um valor - crie outro script que solicite a terceira coluna, fornecendo a opção {print$3} a gawk .

Digamos que o arquivo de log do SpeedFan tenha o seguinte formato:

Timestamp  CPU1_temp  CPU2_temp  MotherBoard_temp  CPUFan_RPM

Você pode ter 4 scripts - cada um deles receberá um dos valores (use a opção gawk ' {print$X} ' para determinar a coluna que será lida).

Agora você pode chamar esses scripts de outros programas quando precisarem de leituras de temperatura do SpeedFan.

    
por 14.08.2013 / 17:31