GPU power and heat after first HW transcode

Server Version#: 1.19.4.2865
Player Version#: 4.34.3
OS: (Official PMS Docker) 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29)
Hardware: Core i7 930, GTX 970 (headless)
Nvidia driver: 440.82

Problem description: Upon a fresh restart of the PMS docker container (w/ nvidia runtime activated), GPU temperatures and power consumption are in an expected range (~20W, ~40C). Upon first playback using HW acceleration, power and temperatures jump to elevated levels (as expected). However, after playback is finished (or cancelled), GPU power consumption (and temperature) does not return to idle levels. Power consumption levels-off at ~55W, more than twice the expected idle consumption.

Plex processes prior to HW transcoding (playback):

root       315     1  0 09:30 pts/0    00:00:00 s6-supervise plex
plex       317   315  0 09:30 ?        00:00:00 /bin/sh -c LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server
plex       324   317 10 09:30 ?        00:00:04 /usr/lib/plexmediaserver/Plex Media Server
plex       339   324  8 09:30 ?        00:00:03 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.19.4.2865-4fa317f77 /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/System.bundle
plex       389   324  0 09:30 ?        00:00:00 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.19.4.2865-4fa317f77 32600 /waitmutex
plex       434   324  6 09:31 ?        00:00:02 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.19.4.2865-4fa317f77 /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/PlexMovie.bundle

Plex processes during HW playback:

root       315     1  0 09:30 pts/0    00:00:00 s6-supervise plex
plex       317   315  0 09:30 ?        00:00:00 /bin/sh -c LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server
plex       324   317  7 09:30 ?        00:00:11 /usr/lib/plexmediaserver/Plex Media Server
plex       339   324  2 09:30 ?        00:00:04 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.19.4.2865-4fa317f77 /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/System.bundle
plex       389   324  0 09:30 ?        00:00:00 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.19.4.2865-4fa317f77 32600 /waitmutex
plex       434   324  1 09:31 ?        00:00:02 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.19.4.2865-4fa317f77 /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/PlexMovie.bundle
plex       863   324 99 09:33 ?        00:00:02 /usr/lib/plexmediaserver/Plex Transcoder -codec:0 h264 -hwaccel:0 nvdec -hwaccel_fallback_threshold:0 10 -hwaccel_output_format:0 cuda -codec:1 dca -ss 437.59199899999999 -analyzeduration 20000000 -probesize 20000000 -i <EDITED INPUT FILE PATH> -filter_complex [0:0]hwupload[0];[0]scale_cuda=w=1280:h=720:format=nv12[1];[1]select=gte(t\,437.562562)[2] -filter_complex [0:1] aresample=async=1:ocl='stereo':osr=48000[3] -map [2] -metadata:s:0 language=eng -codec:0 h264_nvenc -b:0 6367k -maxrate:0 8490k -bufsize:0 16980k -preset:0 hq -forced-idr:0 1 -r:0 23.975999999999999 -force_key_frames:0 expr:gte(t,435+n_forced*3) -map [3] -metadata:s:1 language=eng -codec:1 aac -b:1 256k -bsf:1 framedrop=count=2 -f dash -seg_duration 3 -init_seg_name init-stream$RepresentationID$.m4s -media_seg_name chunk-stream$RepresentationID$-$Number%05d$.m4s -window_size 5 -delete_removed false -skip_to_segment 132 -time_delta 0.0625 -manifest_name http://127.0.0.1:32400/video/:/transcode/session/4fbz8ltgxfj6p701a5a9cn9a/93923450-75d5-4827-ab3e-2adc4b5a02b6/manifest?X-Plex-Http-Pipeline=infinite -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 dash -map 0:2 -codec:0 ass -f segment -segment_format ass -segment_time 1 -segment_header_filename sub-header -segment_start_number 0 -segment_list http://127.0.0.1:32400/video/:/transcode/session/4fbz8ltgxfj6p701a5a9cn9a/93923450-75d5-4827-ab3e-2adc4b5a02b6/seglist?stream=subtitles&X-Plex-Http-Pipeline=infinite -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_format_options ignore_readorder=1 -segment_list_unfinished1 -fflags +flush_packets sub-chunk-%05d -start_at_zero -copyts -y -init_hw_device cuda=cuda: -hwaccel_device cuda -filter_hw_device cuda -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/4fbz8ltgxfj6p701a5a9cn9a/93923450-75d5-4827-ab3e-2adc4b5a02b6/progress

Plex processes after HW playback (same as before playback):

root       315     1  0 09:30 pts/0    00:00:00 s6-supervise plex
plex       317   315  0 09:30 ?        00:00:00 /bin/sh -c LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server
plex       324   317  4 09:30 ?        00:00:15 /usr/lib/plexmediaserver/Plex Media Server
plex       339   324  1 09:30 ?        00:00:04 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.19.4.2865-4fa317f77 /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/System.bundle
plex       389   324  0 09:30 ?        00:00:00 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.19.4.2865-4fa317f77 32600 /waitmutex
plex       434   324  0 09:31 ?        00:00:02 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.19.4.2865-4fa317f77 /usr/lib/plexmediaserver/Resources/Plug-ins-4fa317f77/PlexMovie.bundle

Power and temperature resets when the Plex container is restarted:

Power and temperature do not return to normal after a HW playback is stopped:

I noticed that after HW playback is stopped, there is still a tiny bit of memory left “used” in the GPU. Is that perhaps triggering the GPU to stay in a higher-power mode?

Any suggestions on how to make the GPU return to its idle power consumption while running Plex?

long known issue

Thank you.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.