Acompanhe a temperatura ao longo do tempo

3

Existe um aplicativo que permite rastrear a temperatura da CPU ao longo do tempo? Estou ciente do que o aplicativo de sensores de lm-sensors faz, mas e se eu quiser comparar o calor versus a carga da CPU de N-semanas atrás até hoje?

Eu posso escrever um em C, mas estou imaginando se esse software já existe.

    
por j0h 04.10.2016 / 18:35

3 respostas

4

Criamos uma ferramenta que faz isso chamada s-tui. Ele permite monitorar a frequência de temperatura e a utilização da CPU ao longo do tempo. Você também pode salvar os dados em um CSV.

O código está disponível no github: link

Isso é o que uma captura de tela parece

Instalação mais simples com o pip (gerenciador de pacotes python) %código% Instale o pip se você não tiver %código% A instalação também está disponível via ppa, mas não possui as versões mais recentes das bibliotecas python necessárias. sudo pip install s-tui

Em seguida, execute sudo apt-get install python-pip ou sudo add-apt-repository ppa:amanusk/python-s-tui sudo apt-get update sudo apt-get install python-s-tui

As principais características são:

  • Executa no terminal
  • Permite que você execute um teste de estresse para verificar a estabilidade do sistema (requer que s-tui seja instalado)
  • Controlar temperatura e temperatura máxima por sessão

Você pode baixar e executar o executável diretamente sudo s-tui

Todas essas instruções estão disponíveis no README no github

    
por amanusk 04.06.2017 / 14:31
2

Há um simples para usar o pacote de software de monitoramento monitorix escrito em perl. Ele usa rrdtool para manter os dados antigos e fornece seu próprio mini-servidor da Web para que você navegue facilmente pelos gráficos da atividade recente, consulte capturas de tela .

Não existe um pacote para o Ubuntu, mas como ele não precisa ser compilado, é bastante simples de instalar, consulte github .

Ele registra a temperatura e a carga da CPU e fornece gráficos separados desses, mas não sei quão simples seria projetar seu próprio gráfico. Você sempre pode usar rrdtool diretamente para mostrar os dados, mas precisa de algum esforço para usar corretamente.

    
por meuh 04.10.2016 / 19:49
0

Basta executar um cron job.

  1. Crie uma pasta como temp_logs.
  2. Coloque o seguinte arquivo como um script de shell nessa pasta, por exemplo, temp_logging.sh . Torne o script executável.

    #!/bin/bash 
    # Log temperatures of all cores individually.
    # Log temperature over some time using this script run as cron job. 
    # Set your interval given as days, hours, minutes or seconds as the cron job itself.
    
    #----------------------------------------------------------------------
    # log might become big, hence remove one line each after 5000 lines.
    lines=$(wc -l < temp_log.txt)
    if ["$lines" -gt 5000 ]
    then
        sed -i '1d' temp_log.txt
    fi
    #----------------------------------------------------------------------
    #output will be a txt file 'temp_log.txt' which will have n columns for n cores and day and time.
    ( sensors | grep -A 0 'Core' | cut -c18-21|xargs | awk '{ sum += ; n++ } END { if (n > 0) print sum / n; }'  ; sensors | grep -A 0 'Core' | cut -c18-21|xargs; echo $(date +"%m/%d/%Y %T" )) | xargs
    
  3. Defina uma tarefa cron para executar esse script de acordo com sua necessidade. Obter log acumulado no arquivo temp_log.txt

Por exemplo, para cada registro a cada 5 minutos. então a linha do cron seria.

*/5 * * * * /path/to/script/temp_logging.sh

Resultado: Primeiro col é a média, os próximos 6 são para núcleos individuais e depois dia e hora.

25 25.0 25.0 26.0 25.0 27.0 25.0 06/10/2017 14:54:59
25 25.0 25.0 26.0 25.0 27.0 25.0 06/10/2017 14:55:00
25 25.0 25.0 25.0 25.0 26.0 26.0 06/10/2017 14:55:01
25 25.0 25.0 25.0 25.0 26.0 26.0 06/10/2017 14:55:01
26 26.0 25.0 25.0 25.0 26.0 25.0 06/10/2017 14:55:02
    
por ankit7540 10.06.2017 / 08:18