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%@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コマンドを使いたい。

コメントを残す

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