When the pros first setup their Jetsons, one of the first tools they install is jtop. jtop is a command line tool written by Raffaello Bonghi, one of the original Jetson Champs. He’s also responsible for nanosaur, the smallest NVIDIA Jetson dinosaur robot. You can make a nanosaur yourself, it’s open source! Raffaello is so good that NVIDIA coaxed him into joining their company!
The jtop tool is user-friendly and easy to install. Looky here:
The NVIDIA Jetsons are small computing modules intended for integration into embedded systems. There are many uses, such as artificial intelligence and robotics. The Jetsons all feature a System on a Chip (SoC) architecture. On the chip, there is a Graphics Processing Unit (GPU). Depending on the Jetson model, there may be other compute complexes. For example, new Jetsons have Deep Learning Accelerators (DLAs).
Monitoring resource usage, temperature and power draw is important on these devices. Enter jtop, a user-friendly command line tool for monitoring and controlling your Jetson.
Features and Benefits for Real-Time Jetson Performance Monitoring
jtop is a system monitoring tool providing real-time Jetson performance information. It displays information about the usage of the CPU, GPU, memory and other system resources. jtop displays the output from the Jetson power monitors and temperature sensors.
Another useful feature is the information page. This page describes the version of Jetson Linux and Jetson libraries in use. There is a section describing the Jetson hardware in detail. This is beyond useful when trying to figure out which version of the Jetson software is installed. jtop works on all Jetson models, from the Jetson TX1/Nano to the Jetson Orin.
jtop API: Unlocking the Power of Jetson Secrets with Python
The jetson-stats repository on Github contains the jtop tool. The jtop tool was recently rewritten as a Python library with an API. This allows developers to include jtop functions in their applications. The jtop Python library contains a treasure trove of Jetson secrets. It is well worth reading through the code when you want to access low level hardware information.
The jtop tool supports both Docker and Python virtual environments.
Installing and Running on NVIDIA Jetson Devices
There are a couple of ways to install jtop. The easiest way is to use the Python Install Package (pip) to install jetson-stats from PyPi.
$ sudo apt update
$ sudo apt install python3-pip
After pip installs:
$ sudo pip3 install -U jetson-stats
Once pip installs the jetson-stats package, you will need to logout/login or reboot the Jetson.
After rebooting, to run jtop open a Terminal and execute:
$ jtop
The interface will appear in the Terminal.
There are several different tabs. It’s time for you to go exploring! There’s good documentation available on the jtop project page.
As an alternative, you can install from source. The source is in the Raffaello Bonghi Github jetson-stats repository.
Comparing Jtop and Jetson Power GUI for NVIDIA Jetson Performance Monitoring
There are other tools out there that provide some of the information that jtop does. The NVIDIA Tegrastats Utility reports memory and processor usage for Jetsons. There is also thermal information available. This command line utility simply prints out a string of values at a user definable interval. While you can’t consider it user-friendly, it has it’s use.
The Jetson Power GUI is a GUI tool for monitoring the power and thermal status of Jetson platforms. This utility is a GUI application which displays much of the same information as jtop. There is real time graphing available for a wide variety of features. One of the major features of the Jetson Power GUI is the ability to log the information that is being displayed. There are a couple of downsides. First, the program only runs on Jetson Xaviers and Orins. The second is that the program is more technical than jtop. If you are very familiar with the Jetson and have a in depth knowledge of what the program displays you’re fine. A casual observer? Not so much. The documentation is well done, the UI of the program needs a little polish.
Conclusion
Most folks that have been around the Jetson community for any length of time use jtop. It takes the guess work out of what’s going on under the hood. Recommended.
Notes
The demo in the video is running on a NVIDIA Jetson Nano Development Kit, and a NVIDIA Jetson AGX Orin Development Kit. The Jetson Nano is available again after an absence from the market.
16 Responses
Great stuff!
PS: If you happen to be using Putty on Windows, and happen to have broken line characters (displayed as bunch of qqqqqwqqqq and xxxx), make sure to check the setting “Enable VT100 line drawing even in UTF-8 mode” under Window -> Translation
May this save someone some troubles 🙂
Thank you for sharing this! And thanks for reading.
Thank you, Jan,
I’m Raffaello, the jetson-stats creator.
I will add your hint on the jetson-stats troubleshooting 🙂
Hi Raffaello,
Thank you for adding the hint! jetson-stats is a very useful! Thanks for reading!
Great program!
Thanks a lot for sharing with the world – don’t know what I would have done without it..
You are welcome, and thanks for reading!
Looks like it does not work with Jetpack 6.0 DP. Does anyone have a workaround or so?
Please check the jetson-stats repository. It usually takes a while for jetson-stats/jtop to be updated for new JetPack release: https://github.com/rbonghi/jetson_stats/issues/470
and https://github.com/rbonghi/jetson_stats/pull/471
Just chiming in that it does not work for 5.1.2 either on the AGX Orin Dev Kit 32GB, I just built up 4 systems from scratch, in all cases ending up with the dreaded
scott@Orin4:~$ jtop
The jtop.service is not active. Please run:
sudo systemctl restart jtop.service
scott@Orin4:~$ sudo systemctl restart jtop.service
[sudo] password for scott:
Failed to restart jtop.service: Unit jtop.service not found.
Does it work if you reboot the computer?
Thanks man, sorry if my post was brief, but sure, I’ve been around the block about 10 times on this on 4 different machines, rebooting, trying everything in all the other posts. I think…
I submitted a bug report with all the requested logs, etc.
Thanks!
–Scott
Hi Scott, I’ve seen your issue.
Please follow my reply there.
Raffaello
Fixed with new release 4.2.6
Update with:
sudo -H pip3 install -U jetson-stats
Thanks Raffaello! I’m glad you were able to get a fix out fast.
Hi,
After installing the jtop, I reboot the jetson and then a window popped up and said “jtop_env.sh: line 28 & 34:too many argument. Then I try to use jtop command but the system keep saying do the reboot? What should I do next? Thank you.
You should open an issue in the jetson-stats repository which holds jtop: https://github.com/rbonghi/jetson_stats/issues