tegrastats Utility

The tegrastats utility reports memory usage and processor usage for Jetson-based devices.
You can find the utility in your package at the following location.
<top>/core/utils/tegrastats

Reported Statistics

The following table shows the statistics the tegrastats utility reports.
Format of statistic
Example of statistic
Description of statistic
X
Y
Z
RAM X/Y (lfb NxZ)
RAM 220/38955MB (lfb 847x4MB)
Largest Free Block (lfb), a memory allocator statistic that describes the largest contiguous block of physical memory that can currently be allocated: at most 4 MB. It can become smaller with memory fragmentation.
Allocations of virtual memory can be bigger.
Amount of RAM in use, specified in megabytes
Total amount of RAM available for applications
Size of the largest free memory block, in megabytes.
N is the number of free blocks of this size.
 
SWAP X/Y (cached Z)
SWAP 0/1978MB (cached 0MB)
Amount of SWAP in use, in megabytes
Total amount of SWAP available for applications
Amount of SWAP cached
IRAM X/Y (lfb Z)
IRAM 0/252kB(lfb 252kB)
Memory local to the video hardware engine.
Amount of IRAM memory in use, in kilobytes
Total amount of IRAM memory available
Size of the largest free block of IRAM memory
CPU [X%,X%, , ]@Z
or
CPU [X%@Z, X%@Z,...]
CPU [1%@102,5%@102,0%@102,0%@102]
CPU utilization. X and Y are rough approximations based on time spent in the system idle process as reported by the Linux kernel in /proc/stat.
Load statistics for each CPU core relative to the current running frequency Z, or off if a core is currently powered down
N/A
CPU frequency in megahertz. Goes up or down dynamically depending on the CPU workload.
EMC_FREQ X%@Y
External memory controller statistics. All sysmem/carve-out/GART memory accesses go through the memory controller.
Percentage of EMC memory bandwidth in use relative to the current running frequency
EMC frequency in megahertz
N/A
GR3D_FREQ X%@Y
GPU engine statistics.
Percentage of the GR3D that in use, relative to the current running frequency
GR3D frequency in megahertz
N/A
VIC_FREQ X%@Y
VIC engine statistics. The VIC engine implements video postprocessing functions needed by video playback applications to produce a final image for the player window.
VIC engine loading as a percentage of current VIC engine frequency
Current VIC engine frequency
n/a
APE Y
APE 150
Audio processing engine statistics. The APE subsystem consists of ADSP (a Cortex®-A9 CPU), AHUB, ADMA, mailboxes for communication between components of APE, etc.
N/A
APE frequency in megahertz
N/A
MTS fg X% bg Y%
Percentage of time spent in foreground tasks
Percentage of time spent in background tasks
N/A
X@YC
MCPU@45C
Temperature reported by a given thermal sensor.
Name of sensor; for internal sensors, the processor block name
Reported temperature in degrees Celsius
N/A
[VDDX] Y/Z
VDDRQ 312/234
Power consumption of a power rail
Name of the power rail
Instantaneous power consumption in milliwatts
Average power consumption in milliwatts
GR3D_PCI % X%
or
GR3D_PCI Y
or
GR3D_PCI X%@Y
Reports DGPU load or frequency or both, depending on information available from the sysfs node.
DGPU utilization
DGPU frequency in megahertz; goes up or down dynamically, depending on DGPU workload
N/A
NVENC Y
NVENC1 Y
Video hardware encoding engine statistics for encoder 0 and 1.
Processors other than T194 have only one encoder, and do not report NVENC1.
N/A
Video hardware encoding engine frequency in megahertz
N/A
NVDEC Y
NVDEC1 Y
Video hardware decoding engine statistics for decoder 0 and 1. Shown only when the hardware decoder/encoder engine is used.
Processors other than T194 have only one decoder, and do not report NVDEC1.
N/A
Video hardware decoding engine frequency in megahertz
N/A
Example Output for T210 Platforms
This example represents output for Jetson TX1 and Jetson Nano series:
RAM 220/3955MB (lfb 847x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [1%@102,5%@102,0%@102,0%@102] EMC_FREQ 1%@665 GR3D_FREQ 0%@76 VIC_FREQ 0%@192 APE 25 PLL@34C CPU@35C Tboard@38C Tdiode@40C GPU@37.5C AO@43.5C thermal@36C PMIC@100C
Example Output for T186 Platforms
This example represents output for Jetson TX2 series devices:
RAM 1756/7842MB (lfb 1262x4MB) SWAP 0/3921MB (cached 0MB) CPU [2%@345,off,off,0%@345,0%@345,0%@345] EMC_FREQ 0%@665 GR3D_FREQ 0%@114 VIC_FREQ 0%@115 APE 150 PLL@45C MCPU@45C PMIC@100C Tboard@41C GPU@43.5C BCPU@45C thermal@44.9C Tdiode@43C
Example Output for T194 Platforms
This example represents output for Jetson AGX Xavier series and Jetson Xavier NX devices.
RAM 1545/31919MB (lfb 7400x4MB) SWAP 0/15959MB (cached 0MB) CPU [0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190] EMC_FREQ 1%@408 GR3D_FREQ 0%@318 VIC_FREQ 0%@115 APE 150 MTS fg 0% bg 0% AO@38C GPU@39.5C Tdiode@43.25C PMIC@100C AUX@38.5C CPU@39.5C thermal@38.8C Tboard@39C GPU1 0/0 CPU 468/468 SOC 937/937 CV 0/0 VDDRQ 312/234 SYS5V 1458/1458

Running tegrastats

When you run tegrastats on Linux devices, it prints statistics to stdout. The output resembles one of the examples shown under Reported Statistics, above.
To run tegrastats
To run tegrastats in the background, execute the following command:
$ tegrastats --interval <int> --logfile <out_file> &
Where:
<int> is the interval between log prints in milliseconds.
<out_file> is the pathname of the output file to which tegrastats writes the log prints.
To run tegrastats in the foreground, omit the trailing ‘&’. You may also omit the --logfile switch to allow log output to go to stdout:
$ tegrastats --interval <int>
To stop tegrastats
If tegrastats is running in the background, execute the following commands:
$ ps
$ kill -9 <pid>
Where <pid> is the process ID of tegrastats as reported by the ps command.
Alternatively, you may run:
$ tegrastats --stop
If tegrastats is running in the foreground, press CTRL+C in the window where it is running.

Re-Deploying tegrastats

The tegrastats utility is preinstalled. If you have removed tegrastats from the build, you can re-deploy it on the target at runtime.
To re-deploy tegrastats
Execute the following comnand from the host PC:
$ scp tegrastats nvidia@<TARGET_DEVICE_IP>:/home/nvidia/

tegrastats Command Line Switches

tegrastats supports the following command line switches.
Switch
Meaning
--interval <int>
The interval at which tegrastats is to write output to the log, in milliseconds. The default interval is 1000 msec.
--verbose
Print verbose messages. These messages may include multiple warnings about read failures during the query process.
--stop
Stop any running instances of tegrastats.
--logfile <out_file>
Dump the output of tegrastats to <out_file>.
 

1 I noted that GPU, present in the examples, is not in the table. You replied:
The tegrastats reports Free memory, load & Frequency, Temperature and Power.
Example:
RAM 1545/31919MB (lfb 7400x4MB) SWAP 0/15959MB (cached 0MB) CPU [0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190] EMC_FREQ 1%@408 GR3D_FREQ 0%@318 VIC_FREQ 0%@115 APE 150 MTS fg 0% bg 0% AO@38C GPU@39.5C Tdiode@43.25C PMIC@100C AUX@38.5C CPU@39.5C thermal@38.8C Tboard@39C GPU 0/0 CPU 468/468 SOC 937/937 CV 0/0 VDDRQ 312/234 SYS5V 1458/1458
Where: Free memory - RAM 1545/31919MB (lfb 7400x4MB) SWAP 0/15959MB (cached 0MB)
Load & Frequency - CPU [0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190] EMC_FREQ 1%@408 GR3D_FREQ 0%@318 VIC_FREQ 0%@115 APE 150 MTS fg 0% bg 0%
Temperature - AO@38C GPU@39.5C Tdiode@43.25C PMIC@100C AUX@38.5C CPU@39.5C thermal@38.8C Tboard@39C
Power - GPU 0/0 CPU 468/468 SOC 937/937 CV 0/0 VDDRQ 312/234 SYS5V 1458/1458
The power rail name will be different for each platform. You have already added one row “[VDDX] Y/Z” in the table for power. That is sufficient.