顯示目前CPU頻率和使用率的指示器

顯示目前CPU頻率和使用率的指示器

不幸的是,似乎 cpufreq 指示器僅顯示一個指示比例頻率的圖標,而不是我想看到的精確數字。

有沒有即時顯示CPU實際頻率的指標?也許對於每個核心?

理想情況下,我想查看每個核心的頻率和使用情況,但回答這個問題:

是否有針對各核心 CPU 使用情況的應用程式指標?

顯示目前每個核心的使用量已經無法達到。

答案1

您可以使用 Indicator-sysmonitor 來實作此類自訂指標

  1. 安裝indicator-sysmonitor

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

  3. 點選其指示器 → 首選項 → 進階選項卡
  4. 點選新建:

    感測器:freq命令:awk '/cpu MHz/{printf(" %d",$4)}' /proc/cpuinfo

  5. 將新感測器變更為標籤:cpu: {cpu} mem: {mem} freq:{freq}
  6. 節省

    指標-sysmonitor cpu核心頻率

參考:

答案2

您可以使用indicator-multiload設定自訂指標:

  1. 安裝indicator-sysmonitor

    sudo apt-get install indicator-multiload
    
  2. 運行

  3. 單擊其指標優先指標項目

  4. 點選添加並輸入:

    freq $(frequency(cpufreq.cur1))
    
  5. 將其移動到最頂部。

  6. 新增另一個freq沒有值的。

  7. 點選關閉關閉

答案3

我按照本教程創建了指標小程式:

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

並想出了以下腳本。它根據 cpuinfo 輸出顯示每個核心頻率的指示器。不是很健壯,但似乎可以勝任這份工作。

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

順便說一下,可以在這裡找到擴展指標多負載以顯示每個核心使用情況的想法:

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

請求後兩年沒有實施,但也許有一天...

相關內容