Jellyfin Forum
Disk full because of transcode directory - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Disk full because of transcode directory (/t-disk-full-because-of-transcode-directory)



Disk full because of transcode directory - Duvel - 2024-10-03

Hi

Running 10.9.11 in docker : jellyfin/jellyfin:latest on a Ubuntu 22.04 VM.

I've got a mature server with tenths of users running for years with no issues.

This morning that server was KO because the system disk was full

Quote:tom@www-prd:~$ df
Filesystem      1K-blocks        Used  Available Use% Mounted on
tmpfs              1224444        5560    1218884  1% /run
/dev/sda2        102656700    98453460          0 100% /
tmpfs              6122208          28    6122180  1% /dev/shm
tmpfs                5120          0      5120  0% /run/lock
/dev/sdb1      1073216516  545110924  528105592  51% /var/www
/dev/sdc1      16104039404 15023022980 1081016424  94% /media/plex
tmpfs              1224440          60    1224380  1% /run/user/128

I've got a 100TB SDD for the system and its where Jellyfin files lies, including the transcode directory

There were more than 13k files in the directory and all files were created on yesterday and 2 days ago.
like:
-rw-r--r--  1 jellyfin jellyfin  2443293 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b35.mp4
-rw-r--r--  1 jellyfin jellyfin  2317467 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b360.mp4
-rw-r--r--  1 jellyfin jellyfin  2652326 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b361.mp4
-rw-r--r--  1 jellyfin jellyfin  3282917 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b362.mp4
-rw-r--r--  1 jellyfin jellyfin  2614603 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b363.mp4
-rw-r--r--  1 jellyfin jellyfin  2999447 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b364.mp4
-rw-r--r--  1 jellyfin jellyfin  2785210 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b365.mp4
-rw-r--r--  1 jellyfin jellyfin  2418162 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b366.mp4
-rw-r--r--  1 jellyfin jellyfin  2461479 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b367.mp4
-rw-r--r--  1 jellyfin jellyfin  2489552 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b368.mp4
-rw-r--r--  1 jellyfin jellyfin  2464962 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b369.mp4
-rw-r--r--  1 jellyfin jellyfin  2285016 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b36.mp4
-rw-r--r--  1 jellyfin jellyfin  2456811 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b370.mp4
-rw-r--r--  1 jellyfin jellyfin  2520562 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b371.mp4
-rw-r--r--  1 jellyfin jellyfin  2570875 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b372.mp4
-rw-r--r--  1 jellyfin jellyfin  2911734 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b373.mp4
-rw-r--r--  1 jellyfin jellyfin  2606474 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b374.mp4
-rw-r--r--  1 jellyfin jellyfin  2675693 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b375.mp4
-rw-r--r--  1 jellyfin jellyfin  2890279 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b376.mp4
-rw-r--r--  1 jellyfin jellyfin  2769607 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b377.mp4
-rw-r--r--  1 jellyfin jellyfin  2905585 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b378.mp4
-rw-r--r--  1 jellyfin jellyfin  2449224 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b379.mp4
-rw-r--r--  1 jellyfin jellyfin  1690650 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b37.mp4
-rw-r--r--  1 jellyfin jellyfin  2111243 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b380.mp4
-rw-r--r--  1 jellyfin jellyfin  1927557 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b381.mp4
-rw-r--r--  1 jellyfin jellyfin  2007292 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b382.mp4
-rw-r--r--  1 jellyfin jellyfin  2684367 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b383.mp4
-rw-r--r--  1 jellyfin jellyfin  2396827 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b384.mp4
-rw-r--r--  1 jellyfin jellyfin  2360938 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b385.mp4
-rw-r--r--  1 jellyfin jellyfin  2843802 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b386.mp4
-rw-r--r--  1 jellyfin jellyfin  3176584 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b387.mp4
-rw-r--r--  1 jellyfin jellyfin  2668085 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b388.mp4
-rw-r--r--  1 jellyfin jellyfin  2994367 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b389.mp4
-rw-r--r--  1 jellyfin jellyfin  2063018 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b38.mp4
-rw-r--r--  1 jellyfin jellyfin  2744151 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b390.mp4
-rw-r--r--  1 jellyfin jellyfin  2591348 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b391.mp4
-rw-r--r--  1 jellyfin jellyfin  2768626 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b392.mp4
-rw-r--r--  1 jellyfin jellyfin  2782224 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b393.mp4
-rw-r--r--  1 jellyfin jellyfin  2853041 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b394.mp4
-rw-r--r--  1 jellyfin jellyfin  3026344 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b395.mp4
-rw-r--r--  1 jellyfin jellyfin  3116120 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b396.mp4
-rw-r--r--  1 jellyfin jellyfin  2333962 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b397.mp4
-rw-r--r--  1 jellyfin jellyfin  2372371 Oct  2 21:29 f27db32e08a850103ccdaf0b5e93e9b398.mp4

I purged the whole directory and regained 30TB

2 days ago (1st october evening)  I found that the jellyfin server was slow to respond, while I had 5 users watching something on it. I had a look at the log and did not find anything obvious. I thus decided to restart the container. I rarely have to do this. The server answered much better after that.

All the transcode files were newer than that restart, meaning that it created 13k transcode files in 24 hours and never deleted them itself.

There's obviously a big issue somewhere and I'd like that you help me to find the root cause in my log files (I'd like to avoid to post them all publicly if possible).

Cheers


RE: Disk full because of transcode directory - gnattu - 2024-10-03

The server should have a scheduled task called "clean transcode directory" that will automatically run every 24 hours, and will clean all files created more than 24 hours ago.

If the client behaves correctly the server will clean the files immediately after the playback session ends, but if some of your users are using a client that handles the session unreliably which will make the server to rely on this scheduled task to clean transcode cache.

The max amount you need in this unideal scenario is the amount of disks for 24hours playback.

BTW, your size looks like GB not TB to me, and 30 GB cache is nothing for a busy server streaming high bitrate videos. If make the cache larger is not an option, you can go to dashboard->Playback->Transcoding, scroll down and check delete segments. This will delete the segments during the playback after the clients reported it has already played that part, but a reminder is that that option is not always reliable and the functionality is very client dependent. Some client may even fail to playback with that enabled as it does not accurately report playback time.


RE: Disk full because of transcode directory - Duvel - 2024-10-03

yes, I more or less knew all of this.
But how do you explain that with max 10 users/clients active during 24 hours, Jellyfin has generated 13,750 transcode files? It just doesnt make sense unless there's an issue somewhere, server-side.
One user alone could not have triggered that amount of transcode files unless he tried to chain-start thousands of different videos purposely. All my users are good friends that are using my server for years, and none of them is an idiot.
Or it might be one of their clients that bugged and sent thousands of requests ???
How to determine this ?


RE: Disk full because of transcode directory - TheDreadPirate - 2024-10-03

That file count is not abnormally high. Each transcode file is NOT the full movie/show. Transcode files are a few seconds of the original video so that they can be served in small chunks. This is how Youtube/Twitch/Netflix/etc. serves up content for their clients. Depending on the length of the video, this could mean dozens or hundreds of segments per movie/show. So the fact that you have 13K for 10 users over 24 hours is not unusual.

As gnattu mentioned, the NORMAL behavior is that the client gracefully ends the watch sessions and Jellyfin IMMEDIATELY cleans up the transcode files. If the client is not terminating the sessions gracefully then Jellyfin does not clean up immediate and this cleanup job will come around once a day to remove them.

What would cause a client to NOT gracefully end a session? Could be several reasons and it varies from client to client.

If you could provide your full server log via pastebin, we might be able to narrow down the cause.