18个版本 (8个破坏性版本)
新版本 0.9.1 | 2024年8月14日 |
---|---|
0.9.0 | 2024年7月17日 |
0.8.5 | 2024年5月29日 |
0.8.0 | 2024年3月29日 |
0.1.7 | 2023年5月2日 |
#20 in 硬件支持
每月下载量:417
1MB
4K SLoC
AMDGPU_TOP
amdgpu_top
是一个显示AMD GPU利用率的工具,类似于 umr 或 clbr/radeontop 或 intel_gpu_top。
该工具显示从性能计数器(GRBM、GRBM2)、传感器、fdinfo和AMDGPU驱动程序收集的信息。
简单的TUI (类似于nvidia-smi、rocm-smi) |
TUI | GUI |
---|---|---|
快速链接
依赖的动态库
- libdrm
- libdrm_amdgpu
用法
cargo run -- [options ..]
# or
amdgpu_top [options ..]
# Run TUI mode
amdgpu_top
# Run GUI mode
amdgpu_top --gui
# Run SMI mode
amdgpu_top --smi
# Dump AMDGPU info
amdgpu_top -d
# Dump AMDGPU info and gpu_metrics
amdgpu_top -d -gm
# Dump AMDGPU info and pp_table
amdgpu_top -d --pp-table
# Dump AMDGPU info in JSON format
amdgpu_top -d --json
# Dump DRM info
amdgpu_top --drm-info
# Decode gpu_metrics file
amdgpu_top --decode-gm <path>
# Decode gpu_metrics file and output in JSON format
amdgpu_top --json --decode-gm <path>
选项
FLAGS:
-d, --dump
Dump AMDGPU info. (Specifications, VRAM, PCI, ResizableBAR, VBIOS, Video caps)
This option can be combined with the "-J" option.
--list
Display a list of AMDGPU devices.
-J, --json
Output JSON formatted data.
This option can be combined with the "-d" option.
--gui
Launch GUI mode.
--smi
Launch Simple TUI mode. (like nvidia-smi, rocm-smi)
-p, --process
Dump All GPU processes and memory usage per process.
--apu, --select-apu
Select APU instance.
--single, --single-gpu
Display only the selected APU/GPU
--no-pc
The application does not read the performance counter (GRBM, GRBM2)
if this flag is set.
Reading the performance counter may deactivate the power saving feature of APU/GPU.
-gm, --gpu_metrics, --gpu-metrics
Dump gpu_metrics for all AMD GPUs.
https://www.kernel.org/doc/html/latest/gpu/amdgpu/thermal.html#gpu-metrics
--pp_table, --pp-table
Dump pp_table from sysfs and VBIOS for all AMD GPUs.
(only support Navi1x and Navi2x, Navi3x)
--drm_info, --drm-info
Dump DRM info.
Inspired by https://gitlab.freedesktop.org/emersion/drm_info
--dark, --dark-mode
Set to the dark mode. (TUI/GUI)
--light, --light-mode
Set to the light mode. (TUI/GUI)
-V, --version
Print version information.
-h, --help
Print help information.
OPTIONS:
-i <usize>
Select GPU instance.
--pci <String>
Specifying PCI path. (domain:bus:dev.func)
-s <u64>, -s <u64>ms
Refresh period (interval) in milliseconds for JSON mode. (default: 1000ms)
-n <u32>
Specifies the maximum number of iteration for JSON mode.
If 0 is specified, it will be an infinite loop. (default: 0)
-u <u64>, --update-process-index <u64>
Update interval in seconds of the process index for fdinfo. (default: 5s)
--json_fifo, --json-fifo <String>
Output JSON formatted data to FIFO (named pipe) for other application and scripts.
--decode-gm <Path>, --decode-gpu-metrics <Path>
Decode the specified gpu_metrics file.
TUI的命令
密钥 | |
---|---|
g | 切换GRBM |
r | 切换GRBM2 |
v | 切换VRAM/GTT使用情况 |
f | 切换fdinfo |
n | 切换传感器 |
m | 切换GPU度量 |
h | 更改更新间隔(高=100ms,低=1000ms) |
q | 退出 |
P | 按pid对fdinfo进行排序 |
M | 按VRAM使用情况对fdinfo进行排序 |
G | 按GFX使用情况对fdinfo进行排序 |
M | 按MediaEngine使用情况对fdinfo进行排序 |
R | 反转排序 |
JSON模式的示例使用
$ amdgpu_top --json | jq -c -r '(.devices[] |
(.Info | .DeviceName + " (" + .PCI + "): ") +
([.gpu_activity | to_entries[] | .key + ": " + (.value.value|tostring) + .value.unit] |
join(", ")))'
输出
AMD Radeon RX 6600 (0000:03:00.0): GFX: 13%, MediaEngine: 0%, Memory: 4%
AMD Radeon Graphics (0000:08:00.0): GFX: 0%, MediaEngine: 0%, Memory: null%
AMD Radeon RX 6600 (0000:03:00.0): GFX: 15%, MediaEngine: 0%, Memory: 5%
AMD Radeon Graphics (0000:08:00.0): GFX: 0%, MediaEngine: 0%, Memory: null%
AMD Radeon RX 6600 (0000:03:00.0): GFX: 3%, MediaEngine: 0%, Memory: 2%
AMD Radeon Graphics (0000:08:00.0): GFX: 0%, MediaEngine: 0%, Memory: null%
...
安装
软件包
- 版本
- .deb(由 cargo-deb 生成)
- .rpm(由 cargo-generate-rpm 生成)
- .AppImage(由 cargo-appimage 生成)
- AUR
- OpenMandriva 安装运行
sudo dnf install amdgpu_top
- Nix
- Solus 安装运行
sudo eopkg it amdgpu_top
从源代码构建
cargo install amdgpu_top
# or
git clone https://github.com/Umio-Yasuno/amdgpu_top
cd amdgpu_top
cargo install --locked --path .
无GUI
cargo install --locked --path . --no-default-features --features="tui"
特定发行版的说明
Debian/Ubuntu
sudo apt install libdrm-dev
二进制大小
特性 | 大小(去外壳) |
---|---|
json | ~852K |
tui | ~1.3M |
json, tui | ~1.4M |
json, tui, gui | ~14M |
参考
- Tom St Denis / umr · GitLab
- Mesa3D
- AMD 文档
- https://github.com/AMDResearch/omniperf/tree/v1.0.4/src/perfmon_pub
- https://github.com/freedesktop/mesa-r600_demo
- radeonhd:r6xxErrata
- Linux 内核 AMDGPU 驱动
- libdrm_amdgpu API
/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
amdgpu_allowed_register_entry
/drivers/gpu/drm/amd/amdgpu/{cik,nv,vi,si,soc15,soc21}.c
- libdrm_amdgpu API
翻译
amdgpu_top
使用 cargo-i18n 和 Project Fluent 进行翻译。
请参阅 pop-os/popsicle 了解更多支持的语言。
支持的语言
替代方案
如果 amdgpu_top
对您来说不够用或者您不喜欢它,请尝试以下应用程序。
AMD_DEBUG=info <opengl application>
或RADV_DEBUG=info <vulkan application>
- clbr/radeontop
- 查看您的 GPU 利用率,包括总活动百分比和单个块。
- Syllo/nvtop
- AMD、Intel 和 NVIDIA 的 GPU 进程监控
- Tom St Denis / umr · GitLab
- AMDGPU 硬件的用户模式寄存器调试器
- GPUOpen-Tools/radeon_gpu_profiler
- 开发者使用
- Radeon GPU Profiler(RGP)是 AMD 提供的一个工具,允许深入检查 GPU 工作负载。
依赖项
~7–48MB
~885K SLoC