Beszel monitoring does not chart GPU performance even though Jellyfin was successfully using Intel GPU
Beszel GPU charts are not displayed during Jellyfin hardware transcoding, manually change from default 1.5Mbps to 420kbps.
Caution: Jellyfin usage of GPU is not consistent. It possible for the jobs for the GPU to be fully completed while the video is still in the midst of playing. This can easily be mistaken as Beszel not reading the counters properly or no counters.
Jellyfin use of GPU is verified by running in Bash
intel_gpu_top
Verification of what GPU stats Beszel can read via running intel_gpu_top inside the Docker container.
docker exec beszel-agent intel_gpu_top -L
As there are 2 GPUs in the container, care is required to specify the correct unit. Proxmox provided the card0, virtual GPU. card1 was created to provide hardware GPU support
card0 = QEMU virtual GPU
card1 = Intel UHD 630
Add the following to the Beszel-agent section in compose.yml
image: henrygd/beszel-agent-intel
cap_add:
- CAP_PERFMON
- SYS_ADMIN
devices:
- /dev/dri:/dev/dri
environment:
INTEL_GPU_DEVICE: drm:/dev/dri/renderD128
Change the image to intel for GPU support. cap_add key pair is monitoring and admin access. Both values are required. devices is required to declare the GPU usage. The environment is point the desired GPU, in our case RenderD128.
Useful verification commands
ls -l /dev/dri
lspci -k -s 00:10.0
docker inspect beszel-agent --format '{{json .HostConfig.Devices}}'
docker inspect beszel-agent --format '{{json .HostConfig.CapAdd}}'
docker exec beszel-agent intel_gpu_top -L
docker exec beszel-agent intel_gpu_top -d drm:/dev/dri/renderD128
The final output should look something like this:
name: beszel
services:
beszel:
image: henrygd/beszel
container_name: beszel
restart: unless-stopped
environment:
- APP_URL=http://10.10.10:8090
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
beszel-agent:
image: henrygd/beszel-agent-intel
container_name: beszel-agent
restart: unless-stopped
network_mode: host
cap_add:
- CAP_PERFMON
- SYS_ADMIN
devices:
- /dev/dri:/dev/dri
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./beszel_agent_data:/var/lib/beszel-agent
# monitor other disks / partitions by mounting a folder in /extra-filesystems
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
environment:
LISTEN: 45876
KEY: 'ssh-ed25519 keyKeykeyKeykeyKeykeyKeykeyKeykeyKeykeyKeykeyKeykeyKeykeyKey'
TOKEN: token-tokenTokentoken-aad-tokenTokentoken
HUB_URL: http://10.10.10:8090
INTEL_GPU_DEVICE: drm:/dev/dri/renderD128
