How is it works#

jtop is a power monitor that uses a service and a Python client library.

../_images/architecture.drawio.png

Like the image above, when jtop service start, load and decode the information on your board.

Initialization#

  1. Read NVIDIA Jetson EEPROM to detect which NVIDIA Jetson is running

  2. decode jetson_clocks to know if is running and which engines are involved when it starts.

  3. decode the NVPmodel to know which model is selected

  4. Open the /run/jtop.sock socket and wait for a jtop client connection

Loop#

When jtop is running read all status from your current board and share all this data to all jtop python connections.

  1. Read and estimate the CPU utilization from /proc/stat

  2. Read status from all devices in /sys/devices/system

  3. Read and decode memory status from /proc/meminfo

  4. Decode and read the status from all swaps using swapon command

  5. Check status from jetson_clocks

  6. Check which nvpmodel is running

jtop.sock#

jtop uses a service to share the data between client (jtop gui or your Python script) and a server.

This service, called jtop.service use a socket file. It is located in:

/run/jtop.sock

This socket is protected by access mode: 660 equivalent to srw-rw---- and by the group.

Only other users in jtop group have access to this socket