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