
通常、grepで問題を解決できます。
sudo intel_gpu_top | grep xyz
ただし、この場合、intel_gpu_topはhtopに似ており、継続的に実行されます。
Bashスクリプトから必要な情報をどのように抽出しますか?
私の平均iGPU使用量を知りたいのですが、これがこれを行うことができる唯一のツールのようです。結果をファイルに出力するオプションがありますが、少しsudo intel_gpu_top -o file.txt
奇妙に作成されており、統計も異なり、以前の結果を手動で上書きするのではなく、ファイルにコンテンツを追加してファイルからデータを抽出するのが難しくなります。必要な情報を読んでください(少なくとも私のようなbash初心者の場合)
編集する:
これが出力ですsudo intel_gpu_top -o test.txt
Freq MHz IRQ RC6 Power IMC MiB/s RCS/0 BCS/0 VCS/0 VECS/0
req act /s % W rd wr % se wa % se wa % se wa % se wa
0 0 0 0 0.00 170 48 0.00 0 0 0.00 0 0 0.00 0 0 0.00 0 0
6 6 12 99 0.01 545 134 0.81 0 0 0.00 0 0 0.00 0 0 0.00 0 0
9 9 14 98 0.01 411 78 1.14 0 0 0.00 0 0 0.00 0 0 0.00 0 0
5 5 10 99 0.01 436 74 0.72 0 0 0.00 0 0 0.00 0 0 0.00 0 0
12 12 21 98 0.01 431 100 0.76 0 0 0.00 0 0 0.00 0 0 0.00 0 0
3 3 8 100 0.00 391 52 0.16 0 0 0.00 0 0 0.00 0 0 0.00 0 0
sudo intel_gpu_topで始めましょう。 htop または top と表示されることを忘れないでください。
intel-gpu-top - 9/ 9 MHz; 98% RC6; 0.02 Watts; 17 irqs/s
IMC reads: 732 MiB/s
IMC writes: 247 MiB/s
ENGINE BUSY MI_SEMA MI_WAIT
Render/3D/0 1.65% |█▍ | 0% 0%
Blitter/0 0.00% | | 0% 0%
Video/0 0.00% | | 0% 0%
VideoEnhance/0 0.00% | | 0% 0%
私はRender/3D/0、Blitter/0、Video/0、VideoEnhance/0の値に興味があります。実際、2つの出力が互いにどのように関連付けられているかはわかりませんが、アイデアがある場合はお知らせください。
編集:編集:「ティック」ごとに結果が得られてよかったです。 sudo intel_gpu_topが毎秒自動的に更新されると思いましたが、間違っている可能性があります。
答え1
GPUのバージョンはよくわかりませんが、top
提供された出力で見るとsudo intel_gpu_top
出力の一部をキャプチャしたようですsudo intel_gpu_top -o outfile
。
一対一対応は次のとおりです。
Render/3D/0
<>RCS/0
%値Blitter/0
<>BCS/0
%値Video/0
<>VCS/0
%値VideoEnhance/0
<>VECS/0
%値
収集された情報の利用ジョージ・ユーロソン~の回答このサイトで借りるその答えSOにあり、正しく帰属外国為替:
- 「レンダリング」(空間)は、一般的な3D作業の空間活用に関連しているようです。
- 「Blitter」(エンジン)は、2Dジョブ(ブリッティング)のハードウェアアクセラレーションを担当しているようです。
- 「VCS(ビデオコマンドストリーミング)」:
VCSデバイスは、主にオペレーティングシステムドライバとマルチフォーマットデコーダ(MFD)エンジン[...](パケット取得、デコード、ディスパッチ)との間のソフトウェアプログラミングインタフェースとして機能します。
バラよりこれより多くの情報を知りたい場合
- 「ビデオ拡張コマンドストリームユニット(VECS)」:このコマンドストリームユニットは追加/VCSの改善その中に
ビデオ後処理を別の新しいコンポーネントVEBOXにオフロードできます。 VEBOXエンジンは、ハードウェアベースのビデオ後処理およびサポートされているユーザースペースコードに使用されます。
値を定期的に更新するには:
$ sudo intel_gpu_top -o - \
| awk 'BEGIN {print "\tRender/3D/0 (%)","Blitter/0 (%)","Video/0 (%)","VideoEnhance/0 (%)\n"}
NR>=3 {printf "\t%11s%14s%12s%%19s\n" $4,$7,$10,$13}'
編集する:私は出力を1に制限するようにOPライターの要求に応答しています。つまり、intel_gpu_top
更新された出力を定期的に表示する設計された方法は使用されません。
これを行うには、上記のコード行を次のように変換できます。
timeout 1s sudo intel_gpu_top -s 1 -o - \
| awk 'BEGIN {print "\tRender/3D/0 (%)","Blitter/0 (%)","Video/0 (%)","VideoEnhance/0 (%)\n"}
NR>=3 {printf "\t%11s%14s%12s%%19s\n" $4,$7,$10,$13}'
timeout 1s
:後続のコマンドが1秒後にタイムアウトすることを許可する(1s
)- フラグ
intel_gpu_top
とパラメータ-s 1
設定出力は1秒に1回発生します。