1,安装jtop
在Jetson 上安装jtop 主要需要执行以下几个步骤:
1.1,安装jtop需要的依赖库
打开终端,首先确保你的设备上已经安装了Python3和pip3。如果没有安装,你可以使用以下命令进行安装:
sudo apt update
sudo apt install python3
sudo apt install python3-pip
1.2,安装jtop
sudo pip3 install -U pip
sudo pip3 install jetson-stats
这条命令是在Jetson设备上使用的。Jetson是NVIDIA推出的一系列嵌入式计算平台,用于开发和部署AI应用程序。
sudo pip3 install jetson-stats 命令的意思是以超级用户权限安装一个名为jetson-stats的Python软件包,并将其升级到最新版本。pip3是Python的包管理工具。
jetson-stats是一个用于监控和管理Jetson设备性能的工具集。它提供了各种命令和功能,可以查看设备的实时资源使用情况(如CPU、内存和GPU利用率),并且还可以进行风扇控制、温度监测等操作。通过安装jetson-stats,您可以更方便地监控和管理Jetson设备的性能。
2,使用jtop
jtop 的使用非常简单。在终端中输入 jtop
命令,然后按回车键,你将看到一个实时更新的界面,上面显示了设备的CPU、GPU、内存等资源的使用情况。
在jtop的界面中,你可以看到每个CPU核心的使用率,GPU的显存使用情况,以及内存的使用情况等。此外,jtop还提供了关于CUDA、cuDNN、OpenCV等相关工具的版本信息,这对于开发者来说是非常有用的。
通过jtop,你可以轻松地了解到设备的资源使用情况,这对于优化你的边缘计算项目非常有帮助。例如,你可以根据GPU的使用情况来调整你的模型推理速度,或者根据CPU的使用情况来优化你的代码。
2.1,ALL 页面
包含模块运行信息包括:CPU、内存、GPU、磁盘、风扇、jetson_clock状态、NVPModel等等。
2.1.1,上方
- Model:是本设备的型号和版本
- MEM:显示的参数有:总内存、已使用内存、空闲内存、缓冲区内存、共享内存、缓存内存等。
- FAN:表示风扇转速的百分比。
- Swp:表示交换分区,即系统运行较大规模的运算时,系统会提醒Swap空间不足。显示的参数有:总大小、已使用大小、剩余大小等。
- Jetson Clocks:表示Jetson处理器的时钟状态。可以显示和修改当前处理器的时钟频率和工作状态。通过Jetson Clocks可以开启和关闭最大锁频模式,也可以调整风扇的转速等。
- Emc:表示嵌入式存储控制器(Embedded Memory Controller)。EMC是NVIDIA Jetson系列嵌入式系统中的一个组件,它负责管理片外存储器(例如DDR内存)和片外存储器控制器之间的通信。它能够优化数据传输,提高系统的整体性能和效率。
- NV Power:表示NVIDIA电源管理。NV Power是Jetson系列嵌入式系统中一个用于管理电源模式的组件,它可以根据系统需求调整电源状态,以达到节能、稳定等功能。
- Uptime:表示系统的运行时间。Uptime是Jetson系列嵌入式系统中一个用于监控系统运行时间的组件,它能够实时显示系统的运行时间,以便用户了解系统的使用情况。
- GPU:表示GPU的使用率。
- DSK:表示磁盘。DSK是Jetson系列嵌入式系统中一个用于管理磁盘的组件,它能够显示磁盘的详细信息,包括磁盘的使用情况、读写速度等。
2.1.2,程序信息
-
PID:进程ID,表示进程的唯一标识符。
-
PPID:父进程ID,表示当前进程的父进程的PID。
-
USER:进程所有者,表示进程所属的用户名称。
-
GPU:显示I表示是集成显卡。
-
TYPE:显示的是G表示该GPU是独显,即独立显卡。
-
PRI:代表优先级。
-
S:进程状态,表示进程当前的状态(如R表示运行中,S表示睡眠中,Z表示僵尸进程等)。
-
CPU%:CPU使用率,表示进程在一段时间内占用的CPU时间百分比。
-
MEM%:内存使用率,表示进程在一段时间内占用的内存百分比。
-
MEM:表示CPU使用的内存大小。
-
GPU MEM:表示GPU使用的内存大小。
-
COMMAND:进程名称或命令,表示进程的名称或正在执行的命令。显示的command是Xorg表示该GPU正在运行Xorg服务器。Xorg是一种开源的图形服务器,用于管理显示设备。在运行jtop时,显示设备会显示正在运行的进程和命令,其中command列会显示正在运行的命令。因此,jtop显示的command是Xorg表示该GPU正在运行Xorg服务器,这并不表示存在任何问题或冲突。
2.1.3,HW engines
- HW engines 显示的内容是硬件引擎的名称和数量。在jtop界面中,HW engines列会显示正在运行的硬件引擎的名称和数量,例如GPU、音频处理器、网络处理器等。这些硬件引擎的数量和类型取决于计算机的硬件配置和操作系统。因此,jtop显示的HW engines显示的内容是计算机硬件配置和操作系统的一个反映。
- APE(Asynchronous Process Engine):这是一种硬件引擎,用于执行异步处理任务。它通常与GPU结合使用,以加速图形渲染和其他计算密集型任务。
- PVA0a(Primary Video Accelerator):这是一种硬件引擎,用于视频加速和视频解码。它通常用于管理显示设备的视频处理和输出。
- DLA0c、DLA1c:数字逻辑阵列。
- NVENC、NVDEC:视频编码器与解码器。
- NVJPG、NVJPG1:图片处理引擎。
- SE:安全引擎。
- VIC:视频输入控制器。
2.1.4,Sensor、Temp
- Sensor 和 Temp 分别代表传感器和温度。jtop是一个实时监控系统,它提供了有关计算机硬件使用情况的详细信息,包括CPU、GPU、内存等。在jtop的界面中,Sensor列显示了各个传感器是否可用以及其名称,而Temp列则显示了各个传感器的温度读数。这些信息可以帮助了解计算机硬件的温度状况,以确保其正常运行。
2.1.5,Power、Inst、Avg
- jtop中右下显示的 Power、Inst、Avg 分别表示 Power 类型、功耗和平均功耗。
2.2,GPU 页面
显示了NVIDIA Jetson Nano Developer Kit的一些系统信息和性能监控数据。
-
Model: NVIDIA Jetson Nano Developer Kit - Jetpack 4.6.4 [L4T 32.7.4]
Model: 指当前设备的型号,这里为“NVIDIA Jetson Nano Developer Kit”。Jetpack 4.6.4 [L4T 32.7.4]: Jetpack是NVIDIA为Jetson系列提供的软件栈版本,4.6.4表示具体的版本号。L4T(Linux for Tegra)是操作系统的版本,32.7.4是其具体编号。 -
Temperatures: GPU: 指图形处理单元(GPU)的温度,此处为33.50摄氏度。
-
iGPU gpu 0% - gov: nvhost_podgov
iGPU: 集成图形处理单元(Integrated Graphics Processing Unit),此处显示利用率为0%。gov: nvhost_podgov: NVIDIA的电源管理策略,用于控制GPU的性能和功耗。 -
Memory Usage:这通常展示内存的使用情况,包括已用和空闲内存,但具体数据未显示。
-
Voltage: GPU: 指GPU的工作电压,此处为0.95伏特。
-
Fan Speeds:这展示了设备风扇的转速信息,相关数据未显示。
-
Power Consumption:这通常展示设备的功耗情况,但具体数据未显示。
-
CPU Load: 指中央处理单元(CPU)的负载,此处为0%,表明CPU目前没有处理任务。
- Mem Available: 可用内存量,此处为3.9GB。
- SWAP Used: 使用的交换空间(swap space),一种在物理内存不足时暂存数据的硬盘空间,此处为0字节。
-
Uptime: 系统运行时间,此处为1小时3分钟。
-
3D scaling:这是指三维图形的缩放功能,允许图形在不损失质量的情况下放大或缩小。
- Frq:显示 【76.9MHz 921MHz】意味着当前的 GPU 工作频率为 76.9 MHz,而其最高可达的频率为 921 MHz。
2.3,CPU 页面
每部分对应一个ARMv8处理器核心。每个部分都包含以下参数:
-
Frequency: 显示的是处理器当前的工作频率,单位通常为GHz。
-
Usage: 这可能代表处理器的使用率,即处理器当前的负载情况。
-
Temperature: 显示处理器的温度,单位是摄氏度。
-
Load: 这通常表示处理器的负载平均值。
2.4,MEM页面
页面列出了RAM、交换空间(swap)、以及各个分区的详细信息,包括大小、已用空间和可用空间等。此外,还提供了一些系统信息,如CPU型号、GPU型号、操作系统版本等。
-
内存(RAM):显示了3.9G的总内存,其中2.1G被用作缓存,0.7G用于其他用途。
-
交换空间(swap):显示了948k/1.96GB的交换空间。
-
分区信息:
- P5分区:248k/495M,已用236k/495M,可用12k/495M。
- P6分区:236k/495M,已用236k/495M,可用0k/495M。
-
系统信息:
- CPU型号为ARM Cortex-A57。
- GPU型号为NVIDIA Jetson Nano Developer Kit的GPU。
- 操作系统版本为Linux 4.18.0-127.13.1-generic x86_64。
2.5,ENG 页面
- APE:表示APU(Advanced Processing Unit)的状态。
- NVDEC:这是NVIDIA的硬件解码器模块,用于加速视频编码和解码任务。
- INVENC:是NVIDIA的视频编码器模块。
- NVJPG:是NVIDIA的JPEG编解码器模块。
- SE:可能代表安全引擎或其他特定模块。
- VIC03:这通常与视频接口控制器有关。
2.6,CTRL 页面
-
Profiles: 列出了两个配置文件[temp_control]和[manual],可能用于控制设备的性能和散热设置。
-
NVP modes:指的是NVIDIA的视频处理单元模式。
2.7,INFO 页面
-
Platform: 显示当前平台的架构为aarch64,即64位ARM架构,这符合Jetson Nano的处理器架构。
-
System: 显示操作系统是Linux,发行版是Ubuntu 18.04 Bionic Beaver,内核版本为4.9.337-tegra。这些信息表明了正在使用的操作系统和内核版本。
-
Model: 设备型号为NVIDIA Jetson Nano Developer Kit,P-number (产品编号) 为p3448-0002。这提供了设备的具体型号和产品代码。
-
SoC: 系统级芯片(SoC)为tegra210,这是Jetson Nano的核心处理器。
-
CUDA and cuDNN: CUDA版本为10.2.300,cuDNN版本为8.2.1.32。这些是NVIDIA提供的用于加速计算的库,支持GPU加速操作。
-
TensorRT: 版本为8.2,这是一个用于优化深度学习模型推理性能的库,显著提高GPU上运行深度学习模型的速度。
-
Jetpack: 版本为4.6.4,这是为Jetson Nano提供支持的软件包,包括各种库和工具。
-
Vulkan: 版本为1.2.70,是一个跨平台的图形和计算API,允许更高效的GPU使用。
-
OpenCV: 版本为4.1.1,不支持CUDA。OpenCV是一个开源的计算机视觉和机器学习库,但在此处未启用CUDA加速。
-
Interfaces: 显示了两个网络接口,eth0和docker0,分别拥有IP地址192.168.254.248和172.17.0.1。这些信息展示了设备在网络中的位置。
-
Control Buttons: 页面底部有一系列控制按钮,如“1ALL”, “2GPU”, “3CPU”, “4MEN”, “5ENG”, “6CTRL”,“ZINFO”, 和“Quit”。这些按钮可能用于快速访问相关的系统资源或执行特定的控制命令。
-
Power and Temperature: 图中还显示了系统的温度和功率信息,但具体数值在当前图像中不可见。
-
Fan Speed: 风扇速度显示为“OFF”,意味着风扇可能没有在运行。
-
Date and Time: 显示当前系统时间为“Tue Apr 4 11:48:06 2024”,即2024年4月4日11时48分6秒。
-
Serial Number and Part Number: 设备的序列号部分被遮挡,仅显示末尾为“XX CLICK TO READ XXX]”, 提示用户点击可以阅读更多信息。
-
Hostname: 设备的主机名为“ubuntu”。