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の表示内容は以下となっている。

NVIDIA Jetson Nanoのtegrastasの出力内容
分類形式説明
メモリー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%@YEMC_FREQ 0%EMC (External Memory Controller) の使用率。
プロセッサーGR3D_FREQ X%@YGR3D_FREQ 34%GPUの使用率。
温度X@YCPLL@38C CPU@39.5C PMIC@100C GPU@39C AO@46C thermal@38.75Cセンサーごとの温度 [°C]。
消費電力[VDDX] Y/ZPOM_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コマンドを使いたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です