jetson-statsとは
jetson-stats
はJetsonデバイスのモニタリング、設定ツールです。
- ドキュメント:https://rnext.it/jetson_stats/
- GitHubリポジトリ:https://github.com/rbonghi/jetson_stats
以下にhttps://github.com/rbonghi/jetson_stats/blob/master/README.mdに紹介されている実行例を示します。CPU、GPU、HW Engineの使用状況などがわかりやすく可視化されていることがわかります。
類似ツール
類似ツールとして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...
実行結果の例は以下の通りです。
この結果からCPU、GPU使用状況だけでなく、
- jetson_clocksが実行されている
- パワーモードはMAXNである
- NVDECが使用されている
などの情報が確認できます。詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#allを参照ください。
GPUページ
jetson-stats
で取得できる下記情報を可視化します。
- 使用メモリ量
- GPU温度
- GPU動作周波数
- GPUを使用しているプロセス
- etc...
実行結果の例を以下に示します。
詳細は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の使用状況がわかります。実行結果の例を以下に示します。
この結果からNVDEC、SEのステータスがRUNNINGになっており、これらのHW Engineが使用されていることがわかります。詳細はhttps://rnext.it/jetson_stats/jtop/jtop.html#engを参照ください。
CTRLページ
Jetsonデバイスのパワーモード、冷却ファンのプロファイル、回転数などが確認できます。実行結果の例を以下に示します。
この結果から、
- 冷却ファンのプロファイルが「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