答え1
リアルタイムテキストのみのCPUグラフも見つかりませんでした。だから一つ作りました。
私のgithubリポジトリへのリンクは次のとおりです。https://github.com/rigel314/ttysys
必要に応じて試してみて、私のリポジトリにバグがあれば報告してください。質問ページ。
編集する:
スクリーンショット:
取付ける:
ソースコードでコンパイルする必要があります。私はgccを呼び出す簡単なmakefileを提供しました。
make
thenを使用してプログラムを実行するか、パスにあるので2番目に./build/target/ttysys
実行できます。make install
ttysys
使用法:
$ ttysys [<sequence>]
注文する次の文字を任意の数だけ含めることができます。
?
- ヘルプウィンドウを表示します。h
- 現在のウィンドウを水平に分割します。v
- 現在のウィンドウを垂直に分割します。c
- 現在のウィンドウを閉じます。- タブ - 生成された順序で次のウィンドウに移動します。
- 矢印キー - 押した方向に画面の次のウィンドウに移動します。
- 数値
0
-9
- ウィンドウのデータソースを選択します。0
データソースをアウトラインに設定し、特定のコアに1
設定します。9
g
- 選択したウィンドウのグリッドを切り替えます。e
- 現在のウィンドウタイトルの値表示を切り替えます。t
- 現在のウィンドウのタイトルバー表示を切り替えます。l
- 現在のウィンドウのタブサイドバー表示を切り替えます。q
- プログラムを終了します。u
- 上矢印キーを押すのと同じです。現在のウィンドウの上のウィンドウに移動します。d
- 下矢印キーを押すのと同じです。現在のウィンドウの下のウィンドウに移動します。l
- 左矢印キーを押すのと同じです。現在のウィンドウの左に移動します。r
- 右矢印キーを押すのと同じです。現在のウィンドウの右側に移動します。
この同じボタンは、プログラムの実行中にプログラムを制御します。
仕組み:
/proc/stat
CPUで始まる最初の数行を読み取って動作します。
man 5 proc
内容の意味が説明されています/proc/stat
。
この行は、各CPUが異なる状態で費やした時間を示します。各行の合計は、各CPUに費やされた合計時間です。私はこのファイルを1秒間隔で2回読みました。その後、これら2つの合計を差し引いて得ましたsleep()
。これで、ユーザー番号とシステム番号を加算し、その違いに分割します。結局のところ、それをうまく表現することが問題のようです。