NVIDIA JetsonのGPU/CPU負荷の評価方法
NVIDIA JetsonでのGPU/CPU負荷の評価方法を整理する。
LinuxなどでのGPU負荷の監視にはnvidia-smi
というコマンドがよく使われているようだが,NVIDIA Jetsonではインストールされていない。
代わりに,tegrastats
コマンド (参考: NVIDIA Jetson Linux Developer Guide : Applications and Tools | NVIDIA Docs) で確認できる。
なお,この他にも外部ツールがあるが,標準ツールで事足りるので,tegrastas
コマンドの使い方だけ整理する。
NVIDIA Jetson Nanoでtegrastats
コマンドを実行すると,1秒毎に以下のように性能を出力する。出力間隔は--interval
オプションでms単位で変更できる。
RAM 1170/3956MB (lfb 496x4MB) SWAP 0/1978MB (cached 0MB) CPU [20%@1479,21%@1479,33%@1479,29%@1479] EMC_FREQ 0% GR3D_FREQ 34% PLL@38C CPU@39.5C PMIC@100C GPU@39C AO@46C thermal@38.75C POM_5V_IN 3129/3129 POM_5V_GPU 160/160 POM_5V_CPU 922/922
NVIDIA Jetsonのシリーズごとに出力内容が若干異なる。
NVIDIA Jetson Nanoの表示内容は以下となっている。
分類 | 形式 | 例 | 説明 |
---|---|---|---|
メモリー | RAM X/Y (lfb NxZ) | RAM 1170/3956MB (lfb 496x4MB) | RAMの使用量。 |
メモリー | SWAP X/Y (cached Z) | SWAP 0/1978MB (cached 0MB) | SWAPの使用量。 |
プロセッサー | CPU [X%@Z, X%@Z,…] | CPU [20%@1479,21%@1479,33%@1479,29%@1479] | CPUコア毎の使用率と周波数 [MHz]。 |
プロセッサー | EMC_FREQ X%@Y | EMC_FREQ 0% | EMC (External Memory Controller) の使用率。 |
プロセッサー | GR3D_FREQ X%@Y | GR3D_FREQ 34% | GPUの使用率。 |
温度 | X@YC | PLL@38C CPU@39.5C PMIC@100C GPU@39C AO@46C thermal@38.75C | センサーごとの温度 [°C]。 |
消費電力 | [VDDX] Y/Z | POM_5V_IN 3129/3129 POM_5V_GPU 160/160 POM_5V_CPU 922/922 | 系統 (power rail) ごとの瞬間値/平均値 [mW]。 |
基本的に必要な情報は以下5点だ。
- メモリー使用量: RAM 1170/3956MB
- CPU使用率: CPU [20%@1479,21%@1479,33%@1479,29%@1479] (コア毎で@以後は周波数 [MHz])
- GPU使用率: GR3D_FREQ 34%
- 温度
- 消費電力
消費電力で登場するPOM_5V_INなどは「NVIDIA Jetson Linux Developer Guide : Hardware Setup | NVIDIA Docs」に説明がある。
10分など適当な時間tegrastats
を実行してそのログを表計算ソフトで整理して集計する。区切り文字として,”, [@]/
” を指定すれば,きれいにデータが列に分かれて集約できる。
簡単だが,NVIDIA Jetsonでの基本的な性能評価として,tegrastats
コマンドを使いたい。
リンク