Indikator, der die aktuelle CPU-Frequenz und -Auslastung anzeigt

Indikator, der die aktuelle CPU-Frequenz und -Auslastung anzeigt

Leider scheint der CPUFREQ-Indikator nur ein Symbol anzuzeigen, das die proportionale Häufigkeit angibt, und nicht die genaue Zahl, die ich gerne sehen würde.

Gibt es einen Indikator, der die tatsächliche CPU-Frequenz in Echtzeit anzeigt? Vielleicht für jeden Kern?

Idealerweise würde ich gerne sowohl die Häufigkeit als auch die Nutzung pro Kern sehen, aber Antworten auf diese Frage:

Gibt es einen Anwendungsindikator für die CPU-Auslastung nach Kern?

deuten darauf hin, dass die Nutzung pro Kern derzeit unerreichbar ist.

Antwort1

Sie können indicator-sysmonitor für solche benutzerdefinierten Indikatoren verwenden

  1. Installierenindicator-sysmonitor

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

  3. Klicken Sie auf den Indikator → Einstellungen → Registerkarte Erweitert
  4. Klicken Sie auf „Neu“:

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

  5. Ändern Sie die Bezeichnung des neuen Sensors in: cpu: {cpu} mem: {mem} freq:{freq}.
  6. Speichern

    Indikator-Sysmonitor CPU-Kernfrequenz

Verweise:

Antwort2

Sie können indicator-multiloadeinen benutzerdefinierten Indikator festlegen:

  1. Installieren indicator-sysmonitor:

    sudo apt-get install indicator-multiload
    
  2. Starte es

  3. Klicken Sie aufIndikatorEinstellungenIndikatorelemente

  4. KlickenHinzufügenund geben Sie ein:

    freq $(frequency(cpufreq.cur1))
    
  5. Verschieben Sie es ganz nach oben.

  6. Fügen Sie ein weiteres freqohne Wert hinzu.

  7. Schließen durch KlickenSchließen

Antwort3

Ich habe dieses Tutorial zum Erstellen von Indikator-Applets befolgt:

http://conjurecode.com/create-indicator-applet-for-ubuntu-unity-with-python/

Und habe das folgende Skript erstellt. Es zeigt einen Indikator mit der Frequenz jedes Kerns basierend auf der CPUINFO-Ausgabe an. Nicht sehr robust, scheint aber zu funktionieren.

#!/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()

Eine Idee zur Erweiterung von indicator-multiload zur Anzeige der Nutzung pro Kern finden Sie übrigens hier:

https://bugs.launchpad.net/ubuntu/+source/indicator-multiload/+bug/1173972

Zwei Jahre nach der Anfrage noch nicht umgesetzt, aber vielleicht eines Tages …

verwandte Informationen