Indicador exibindo frequência e uso atuais da CPU

3

Infelizmente, parece que o indicador cpufreq está mostrando apenas um ícone indicando frequência proporcional, em vez do número preciso que eu gostaria de ver.

Existe algum indicador que mostra a real frequência da CPU em tempo real? Talvez para cada núcleo?

Idealmente, gostaria de ver a frequência e o uso por núcleo, mas responda a essa pergunta:

Existe um indicador de aplicação para uso da CPU por núcleo?

sugira que o uso por núcleo esteja fora do alcance agora.

    
por Legat 15.10.2015 / 15:38

3 respostas

3

Você pode usar o monitor do indicador para esse indicador personalizado

  1. Instale indicator-sysmonitor

    sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
    sudo apt-get update
    sudo apt-get install indicator-sysmonitor
    
  2. Execute

  3. Clique em seu indicador → Preferências → guia Avançado
  4. Clique em Novo:

    Sensor: freq Comando: awk '/cpu MHz/{printf(" %d",$4)}' /proc/cpuinfo

  5. Altere o novo sensor para o rótulo: cpu: {cpu} mem: {mem} freq:{freq} .
  6. Salvar

Referências:

  • Ubuntu AppIndicator que exibe a saída de scripts Bash no painel: indicador Sysmonitor
por user.dz 16.10.2015 / 23:05
1

Eu segui este tutorial sobre a criação de applets indicadores:

link

E surgiu o seguinte script. Ele exibe um indicador com frequência de cada núcleo com base na saída cpuinfo. Não muito robusto, mas parece fazer o trabalho.

#!/usr/bin/env python

import sys
import gtk
import appindicator
import random
import time
import os
import re

PING_FREQUENCY_MS = 1000
INDICATOR_NAME = "cpu-indicator"
ICON_PATH = "/usr/share/unity/icons/panel-shadow.png"
APP_CATHEGORY = appindicator.CATEGORY_APPLICATION_STATUS

def cpu_freqs_string():
    return os.popen("cat /proc/cpuinfo | grep MHz").read()

def extract_freqs(s):
    return re.sub("[^(0-9|\t|.)]", "", s).strip().split("\t") 

def cpu_freqs():
    freqs_only = extract_freqs(cpu_freqs_string())
    freqs_in_ghz = [float(x) / 1000 for x in freqs_only if x != ""]
    return " | ".join(["%.1f" % freq for freq in freqs_in_ghz]) 

class CpuIndicator:
    def __init__(self):
        self.ind = appindicator.Indicator(INDICATOR_NAME, ICON_PATH, APP_CATHEGORY)
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.ind.set_menu(gtk.Menu())

    def main(self):
        gtk.timeout_add(PING_FREQUENCY_MS, self.update_value)
        gtk.main()

    def update_value(self):
       self.ind.set_label(cpu_freqs())
       return True

    def quit(self, widget):
        sys.exit(0)

indicator = CpuIndicator()
indicator.main()

A propósito, uma ideia de estender o indicador-multiload para exibir o uso por núcleo pode ser encontrada aqui:

link

Não implementado 2 anos após o pedido, mas talvez um dia ...

    
por Legat 15.10.2015 / 22:35
1

Você pode usar indicator-multiload para definir um indicador personalizado:

  1. Instale indicator-sysmonitor :

    sudo apt-get install indicator-multiload
    
  2. Execute

  3. Clique no seu Indicador Preferências Itens do indicador

  4. Clique em Adicionar e digite:

    freq $(frequency(cpufreq.cur1))
    
  5. Mova-o para o topo.

  6. Adicione outro freq sem um valor.

  7. Feche clicando em Fechar

por Alek Räbnikow 13.06.2017 / 15:52