web-dev-qa-db-ja.com

ディスクの読み取り/書き込み速度を数字でパネルに表示するにはどうすればよいですか?

パネルに読み取り/書き込み速度を数字で表示したいと思います。

システム負荷インジケータを使用してグラフを表示できること、およびシステムモニタインジケータを使用して数値を表示できることを知っています。また、ハードディスクの読み取り/書き込み速度をパネル上の数字として表示するバグがあったこともわかりました here 。それでも、そのような機能を複製する方法を理解することはできません。

システムモニターインジケーターを参照して、カスタムコマンドを追加できることを知っています。ただし、追加できるコマンドが見つかりません。理想的には可能であり、私はそれを見落としていました。

3
shibambu

前書き

コメントに示されているように、ディスクI/O使用量を表示するカスタムインジケーターを作成しました。これにより、パネルに合計使用量を表示し、インジケータメニューにデバイスごとの情報を表示できます。マウントされているデバイスのみのI/O使用に関する情報を提供し、デバイスのマウント/アンマウント時にその情報を適合させます。パネルテキストのオン/オフを切り替えることができ、~/.diskstat_indicator.jsonファイルを介して基本設定を制御できます。 enter image description here

使用法

インジケーターは、Unity Dash経由で、またはコマンドライン(diskstat_indicatorコマンド)から直接呼び出すことにより、他のアプリケーションとして起動できます。ログイン時にインジケーターを起動するには、/usr/share/applications/diskstat_indicator.desktopファイルのコピーを~/.config/autostart/ディレクトリに配置します。

読み取りと書き込みの合計速度は常に変化しているため、パネル内のテキストの長さに影響するため、他のインジケーターは常に前後に移動します。これは非常に煩わしくなります。そのため、パネルテキストを無効/有効にするオプションをメニューに追加しました。合計情報は、メニューから引き続き見ることができます。情報フィールドは、そのメニュー項目に関連付けられたアクションがないという理由だけで選択できないメニュー項目であることに注意してください。将来的には何かがあるかもしれませんが、このインジケーターの主な機能は、アクション指向のインジケーターとして機能するのではなく、データを表示することです。

サンプル~/.diskstat_indicator.json

{
    "show_panel_text": true,
    "timeout": 1.5
}

Installation

インジケーターは、個人のPPAから取得できます。次の手順を使用して、PPAを追加し、インジケーターをインストールします。

  1. Sudo add-apt-repository ppa:1047481448-2/sergkolo
  2. Sudo apt-get update
  3. Sudo apt-get install diskstat-indicator

ソースコードは、プロジェクトの GitHubリポジトリ でも入手できます。

技術的な詳細、議論、さらなるステップ

インジケータの仕組みは簡単です。/proc/diskstatsファイルを読み取り、/proc/mountsとデバイスをクロスチェックし、/proc/mountsファイルで言及されているデバイスの情報のみを抽出します。これは、iotopまたはiostatプログラムと基本的に同じ動作です。私のテストでは、データは一般的にiotopと一致していますが、多少の違いはあります。

これは決して高品質のツールではないことに注意してください。これは、ディスクI/Oで何が起こっているかを簡単に把握することのみを目的としています。ユーザーは、「OK、I/Oの使用率が非常に高いので、明らかに何かが進行している」と言って見ることができるはずです。ユーザーごとに異なるワークフローがあるため、パワーユーザーに適している場合とそうでない場合があります。プロセスごとのI/Oアクティビティなど、より詳細な情報が必要な場合は、おそらくiotopソフトウェアパッケージが必要です。

このツールと組み合わせて役立つと思われるその他のインジケータは、 disks Indicator です。これは、ディスク容量の使用状況の確認やパーティションのマウント/アンマウントに使用できます。

5