GPU 监控
Beszel 可以监控 GPU 使用率、温度和功耗。
AMD GPU
正在开发中
AMD 已弃用 rocm-smi
,转而使用 amd-smi
。代理在 Linux 上可以与 rocm-smi
配合使用,但尚未更新以支持 amd-smi
。
Beszel 使用 rocm-smi
监控 AMD GPU。该工具必须在系统上可用,并且您必须使用二进制代理(而不是 Docker 代理)。
确保可以访问 rocm-smi
在 Arch 和 Debian 上安装 rocm-smi-lib
会将 rocm-smi
二进制文件放置在 /opt/rocm
中。如果该目录不在运行 beszel-agent
的用户的 PATH
环境变量中,请将其符号链接到 /usr/local/bin
:
sudo ln -s /opt/rocm/bin/rocm-smi /usr/local/bin/rocm-smi
Nvidia GPU
Docker 代理
确保主机系统上安装了 NVIDIA Container Toolkit。
使用 henrygd/beszel-agent-nvidia
并将以下 deploy
块添加到您的 docker-compose.yml
中。
beszel-agent:
image: henrygd/beszel-agent-nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- utility
二进制代理
您必须在系统上有 nvidia-smi
可用。
如果不起作用,您可能需要在服务配置中允许访问您的设备。有关更多信息,请参阅 discussion #563。
[Service]
DeviceAllow=/dev/nvidiactl rw
DeviceAllow=/dev/nvidia0 rw
# 如果您有多个 GPU,请确保允许所有 GPU
DeviceAllow=/dev/nvidia1 rw
DeviceAllow=/dev/nvidia2 rw
systemctl daemon-reload
systemctl restart beszel-agent
Nvidia Jetson
您必须使用二进制代理并安装 tegrastats
。
henrygd/beszel-agent-nvidia
镜像可能不起作用,但我无法测试以确认。如果您尝试了,请告诉我结果如何 😃。
Intel GPU
Intel 支持是新的,仍在解决一些问题。
请注意,目前每个系统仅支持一个 GPU。我们可能会在未来添加对多个 GPU 的支持。
Docker 代理
使用 henrygd/beszel-agent-intel
镜像并添加以下附加选项。
beszel-agent:
image: henrygd/beszel-agent-intel
cap_add:
- CAP_PERFMON
devices:
- /dev/dri/card0:/dev/dri/card0
使用 ls /dev/dri
查找您的 GPU 名称:
ls /dev/dri
by-path card0 renderD128
如果不起作用,您可能需要为 perf_event_paranoid
内核参数设置一个较低的值。有关更多信息,请参阅 issue #1150 或 #1203。
sudo sysctl kernel.perf_event_paranoid=2
如果以上方法都不起作用,请尝试在 CAP_PERFMON
之外添加 CAP_SYS_ADMIN
和 CAP_DAC_OVERRIDE
。
二进制代理
您必须安装 intel_gpu_top
。这通常是 intel-gpu-tools
包的一部分。
sudo apt install intel-gpu-tools
sudo pacman -S intel-gpu-tools
假设您不是以 root 身份运行代理,您需要在 intel_gpu_top
二进制文件上设置 cap_perfmon
能力。
sudo setcap cap_perfmon=ep /usr/bin/intel_gpu_top
如果不起作用,您可能需要为 perf_event_paranoid
内核参数设置一个较低的值。有关更多信息,请参阅 issue #1150 或 #1203。
sudo sysctl kernel.perf_event_paranoid=2
要让此更改在重启后依然生效,需要将其添加到 sysctl
配置中。
echo "kernel.perf_event_paranoid=2" | sudo tee /etc/sysctl.d/99-intel-gpu-beszel.conf
sudo sysctl --system