Server Version#:1.42
Player Version#: Current Apple TV
Summary
In Plex Media Server 1.42, when the transcoder temporary directory is mapped to a RAM disk (/dev/shm), memory usage grows continuously throughout playback when the video stream is direct-played and only the audio is transcoded. The transcode buffer never trims during playback, and the memory is not released after playback ends until the server or container restarts.
This behavior was confirmed with TrueHD audio being transcoded to AAC. It is unknown whether the same issue affects other audio codecs.
Environment
-
Plex Media Server 1.42.x (Linux / Docker build)
-
Transcoder temporary directory:
/transcode→/dev/shm -
Hardware transcoding: Intel Quick Sync (enabled)
-
Clients tested: Plex Web and Apple TV
-
Source: 4K H.265 video (direct play) with TrueHD audio (transcoded to AAC)
-
System memory: ~50 GB total,
/dev/shmtmpfs ~26 GB -
Buffer set to 60 sec in Transcode settings
Steps to Reproduce
-
Map
/transcodeto/dev/shmand set “Transcoder temporary directory” to/transcode. -
Play a 4 K H.265 title with TrueHD audio that requires audio-only transcoding.
-
Monitor memory usage during playback using
df -h /dev/shmorfree -h. -
Observe steady memory growth during playback.
-
Stop playback and confirm that the memory is not reclaimed.
Expected Behavior
Plex should maintain a bounded buffer size consistent with the “Transcoder default throttle buffer” setting and release memory once playback ends.
Actual Behavior
Memory allocated for transcoding grows continuously throughout playback and is not freed until Plex is restarted. The throttle buffer setting appears to have no effect.
Additional Notes
-
Confirmed with TrueHD audio; untested with other audio codecs.
-
Behavior began after upgrade to PMS 1.42 — earlier 1.41 builds not confirmed.
-
Long sessions or multiple concurrent streams can exhaust tmpfs and cause playback errors or OOM conditions.
-
Behavior occurs during audio & video transcodes as well
-
Disk usage accumulates at about 20GB per hour of watch time when only transcoding audio and direct stream of video.