LoginSignup
4
3

jetson-stats入門

Last updated at Posted at 2023-10-01

jetson-statsとは

jetson-statsはJetsonデバイスのモニタリング、設定ツールです。

以下にhttps://github.com/rbonghi/jetson_stats/blob/master/README.mdに紹介されている実行例を示します。CPU、GPU、HW Engineの使用状況などがわかりやすく可視化されていることがわかります。

jetson-stats

類似ツール

類似ツールとしてtegrastatsがあります。以下に実行結果の例を示します。ただし、ある程度ツールに慣れていないと実行結果が読みにくいという欠点があります。

$ tegrastats 
10-01-2023 14:41:09 RAM 3006/15523MB (lfb 2436x4MB) SWAP 0/7761MB (cached 0MB) CPU [0%@1984,0%@1984,0%@1984,0%@1984,0%@1984,1%@1984,0%@1984,1%@1984] EMC_FREQ 0% GR3D_FREQ 0%@[0] CV0@53.625C CPU@55.468C iwlwifi@57C SOC2@54.187C SOC0@55.093C CV1@53.812C GPU@54.125C tj@57.718C SOC1@57.718C CV2@53.343C

サポートしているJetsonデバイス

jetson-statsがサポートしているJetsonデバイスはhttps://rnext.it/jetson_stats/#compatibilityに記載があります。

インストール

https://rnext.it/jetson_stats/#installingにあるように以下のコマンドでjetson-statsをインストールします。

sudo pip3 install -U jetson-stats

インストール後、再ログイン or リブートが必要です(jetson-statsはサービスを用いているためです)。

jtop実行

ターミナル上で以下のコマンドを実行します。

jtop

jtop実行結果の読み方

詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#pagesを参照ください。jtop実行結果はいくつかのページごとにまとめられているため、以降、各ページの読み方について紹介します。

ALLページ

jetson-statsで取得できる各種情報のサマリーを可視化します。

  • CPU
  • Memory
  • System
  • GPU
  • Disk
  • HW Engines
  • Temperatures
  • Power Status
  • etc...

実行結果の例は以下の通りです。

jtop_all.png

この結果からCPU、GPU使用状況だけでなく、

  • jetson_clocksが実行されている
  • パワーモードはMAXNである
  • NVDECが使用されている

などの情報が確認できます。詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#allを参照ください。

GPUページ

jetson-statsで取得できる下記情報を可視化します。

  • 使用メモリ量
  • GPU温度
  • GPU動作周波数
  • GPUを使用しているプロセス
  • etc...

実行結果の例を以下に示します。

jtop_gpu.png

詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#gpuを参照ください。

CPUページ

jetson-statsで取得できるCPUステータスを可視化します。詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#cpuを参照ください。

MEMページ

jetson-statsで取得できるメモリ、スワップのステータスを可視化します。RAMステータスの色分けは以下の通りです。

意味
Cyan Used memory
Green GPU shared memory
Blue Buffers memory
Yellow Cached memory

詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#memを参照ください。

ENGページ

Jetsonデバイスに搭載されているHW Engineの使用状況がわかります。実行結果の例を以下に示します。

jtop_eng.png

この結果からNVDEC、SEのステータスがRUNNINGになっており、これらのHW Engineが使用されていることがわかります。詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#engを参照ください。

CTRLページ

Jetsonデバイスのパワーモード、冷却ファンのプロファイル、回転数などが確認できます。実行結果の例を以下に示します。

jtop_ctrl.png

この結果から、

  • 冷却ファンのプロファイルが「Manual」
  • 冷却ファン回転速度が100%
  • jetson_clocksが実行されている
  • パワーモードはMAXNである

ことがわかります。詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#ctrlを参照ください。

Python API

https://rnext.it/jetson_stats/#advanced-usageにPython APIの使用例があります。Python APIを使うことでJetsonデバイスのモニタリング結果を用いた処理を記述することができるようになります。

from jtop import jtop

with jtop() as jetson:
   # jetson.ok() will provide the proper update frequency
   while jetson.ok():
      # Read tegra stats
      print(jetson.stats)

このスクリプトの実行結果例を以下に示します。以下の結果からわかるように前述のtegrastatsコマンドの実行結果が格納されていることがわかります。

{'time': datetime.datetime(2023, 10, 1, 14, 38, 49, 410056), 'uptime': datetime.timedelta(seconds=539, microseconds=120000), 'CPU1': 10, 'CPU2': 9, 'CPU3': 10, 'CPU4': 9, 'CPU5': 9, 'CPU6': 9, 'CPU7': 9, 'CPU8': 10, 'RAM': 0.19360783151236546, 'SWAP': 0.0, 'EMC': 0, 'GPU': 0.0, 'APE': 'OFF', 'DLA0_CORE': 'OFF', 'DLA0_FALCON': 'OFF', 'DLA1_CORE': 'OFF', 'DLA1_FALCON': 'OFF', 'NVDEC': 'OFF', 'NVENC': 'OFF', 'NVJPG': 'OFF', 'NVJPG1': 'OFF', 'PVA0_CPU_AXI': 'OFF', 'PVA0_VPS': 'OFF', 'SE': 473600, 'VIC': 'OFF', 'Fan pwmfan0': 31.764705882352942, 'Temp CPU': 55.437, 'Temp CV0': 53.625, 'Temp CV1': 54.031, 'Temp CV2': 53.281, 'Temp GPU': 54.125, 'Temp iwlwifi': 57.0, 'Temp SOC0': 54.968, 'Temp SOC1': 57.531, 'Temp SOC2': 54.187, 'Temp tj': 57.531, 'Power tj': 2633, 'Power TOT': 8426, 'jetson_clocks': 'ON', 'nvp model': 'MAXN'}
{'time': datetime.datetime(2023, 10, 1, 14, 38, 50, 407974), 'uptime': datetime.timedelta(seconds=540, microseconds=120000), 'CPU1': 2, 'CPU2': 2, 'CPU3': 9, 'CPU4': 5, 'CPU5': 5, 'CPU6': 7, 'CPU7': 11, 'CPU8': 2, 'RAM': 0.19384890487768422, 'SWAP': 0.0, 'EMC': 0, 'GPU': 0.0, 'APE': 'OFF', 'DLA0_CORE': 'OFF', 'DLA0_FALCON': 'OFF', 'DLA1_CORE': 'OFF', 'DLA1_FALCON': 'OFF', 'NVDEC': 'OFF', 'NVENC': 'OFF', 'NVJPG': 'OFF', 'NVJPG1': 'OFF', 'PVA0_CPU_AXI': 'OFF', 'PVA0_VPS': 'OFF', 'SE': 473600, 'VIC': 'OFF', 'Fan pwmfan0': 31.764705882352942, 'Temp CPU': 55.781, 'Temp CV0': 53.468, 'Temp CV1': 54.062, 'Temp CV2': 53.437, 'Temp GPU': 53.937, 'Temp iwlwifi': 57.0, 'Temp SOC0': 54.937, 'Temp SOC1': 57.687, 'Temp SOC2': 54.062, 'Temp tj': 57.781, 'Power tj': 2633, 'Power TOT': 8304, 'jetson_clocks': 'ON', 'nvp model': 'MAXN'}

Python APIの詳細はhttps://rnext.it/jetson_stats/reference/index.htmlを参照ください。

その他のユーティリティツール

jetson-statsをインストールすることでいくつかのユーティリティツールがインストールされます。そのうち、ここではjetson_releaseを紹介します。それ以外のツールについてはhttps://rnext.it/jetson_stats/other-tools/index.htmlを参照ください。

jetson_release

jetson_releaseコマンドを実行することで

  • Jetsonデバイスモデル名
  • Jetson Linuxバージョン
  • パワーモード
  • Jetson Linux向けの開発ソフトウェアバージョン

などが確認できます。実行結果例は以下の通りです。環境情報を第三者に共有するときに有用です。

$ jetson_release 
Software part of jetson-stats 4.2.3 - (c) 2023, Raffaello Bonghi
Model: NVIDIA Orin NX Developer Kit - Jetpack 5.1.2 [L4T 35.4.1]
NV Power Mode[0]: MAXN
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:
 - P-Number: p3767-0000
 - Module: NVIDIA Jetson Orin NX (16GB ram)
Platform:
 - Distribution: Ubuntu 20.04 focal
 - Release: 5.10.120-tegra
jtop:
 - Version: 4.2.3
 - Service: Active
Libraries:
 - CUDA: 11.4.315
 - cuDNN: 8.6.0.166
 - TensorRT: 8.5.2.2
 - VPI: 2.3.9
 - Vulkan: 1.3.204
 - OpenCV: 4.5.4 - with CUDA: NO

動作確認環境

  • reComputer J4012(Jetson Orin NX 16GB)
  • JetPack 5.1.2
  • Python 3.8.10
  • jetson-stats 4.2.3

Appendix:実行オプション

$ jtop -h
usage: jtop [-h] [--health] [--error-log] [--no-warnings] [--restore] [--loop] [--color-filter] [-r REFRESH] [-p PAGE] [-v]

jtop is system monitoring utility and runs on terminal

optional arguments:
  -h, --help            show this help message and exit
  --health              Status jtop and fix (default: False)
  --error-log           Generate a log for GitHub (default: False)
  --no-warnings         Do not show warnings (default: False)
  --restore             Reset Jetson configuration (default: False)
  --loop                Automatically switch page every 5s (default: False)
  --color-filter        Change jtop base colors, you can use also JTOP_COLOR_FILTER=True (default: False)
  -r REFRESH, --refresh REFRESH
                        refresh interval (default: 1000)
  -p PAGE, --page PAGE  Open fix page (default: 1)
  -v, --version         show program's version number and exit
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3