How to make the plex transcoder "Greedy"

Server Version#: 1.42.2.10156
Player Version#: 1.42.2.10156

So im trying to set up plex, on a desktop right. my personal desktop. I know the common wisdom is just build a seperate box, but thats a waste of parts for something that will set idle 90% of the time.

Eitherway my problem is, i have basically the equivelent of a entire homelab setup running on one CPU, One Operating system, All under ONE roof. they are not containerized or anything else.

I use CPU Schedular Priority settings to achieve this.

Well it works GREAT!!! Until i tried to mix plex into it.

So i noticed once plex fills its buffer on the client it throttles itself, absolutly brilliant. once this buffer is full its only using like 30% of my CPU time once averaged over time.

More or less to say theres pleanty of CPU to go around. to keep everything running with even PLEX included. all on one box.

Well i noticed a strange behavior with plex, thats making me nuts.

It seems to be a nice guy and step out of the way when it senses other apps trying to use the CPU. like this.

As you can see Blender is Nice 19
Plex Transcoder Daemon is Nice 12

Plex should get CPU before Blender, and Blender should get whatever falls through the cracks with this setup right? simple? makes sense?

Well as you can see in this image plex seems to just step out of the way? even when it is a Higher CPU priority then blender. and i dont mean it filled a buffer. no it just steps out of the way indefinitely. and will not attempt to start transcoding anything, any videos that were playing. the buffers will run dry.

But the MOMENT the exact second i close blender to free up CPU time

image

suddenly were off to the races again. and it goes back to transcoding exactly as expected.

How can i make the plex transcoder greedy? as if its the only application in the whole world and only it matters. and that nothing else exists. to stop this super annoying “lemme step out of the way 4 u rq” behavior

I need it to be dumb and greedy. just like all the other apps running on the computer. this stack holds up flawlessly. and plex wants to break this wonderful dance of CPU priority gymnastics.

Check your Plex Media Server settings. In the “Transcoder” section is an option named “Transcoder default throttle buffer” (make sure you click the “Show Advanced” button).

This value represents, in seconds, how much the Plex transcoder will pre-transcode (buffer) before throttling. No amount of nice’ing will cause the transcoder to do more work; only the buffer falling below this threshold will cause the transcoder to do more work.

Note that this also has no impact on how much the client buffers. The client will buffer what it can, when it can.

No thats not whats happening here. not at all.

what your describing is a different throttling then im describing.

the throttling im complaining about that it seems to monitor CPU usage. and if it detects another app using alot of CPU it will just stop transcoding.

I want it to transcode to fill the buffer no matter what the other apps are doing. since as long as it does the dance of CPU Priority shenigans will keep everything running smoothly.

I understand that’s the conclusion you’re drawing from what you’ve seen, it just not my experience. The transcoder behaves in a sane manner with regard to scheduling in my Linux, macOS, and Windows environments, doing work when it needs to and throttling when it doesn’t. I can observe this by watching the growth of the transcoder temporary directory over time (assuming the same items are being played while being watched).

Admittedly, I’m not attempting to micromanage the scheduling in the same manner you are.

At any rate, there are a couple of other transcoder settings knobs you can twist, if you want to. You can find (some of) them described here:
https://support.plex.tv/articles/201105343-advanced-hidden-server-settings/

Also, check your Plex Media Server log files while a transcoding session is active. Check for “throttling” and “unthrottling” messages. They should appear something like the following:

Apr 24, 2026 22:12:58.021 [140522940767032] DEBUG - [Req#89c/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Throttle - Getting back to work.
Apr 24, 2026 22:12:58.917 [140522942876472] DEBUG - [Req#8aa/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Session vsr8bsc04y9j7mz85qfeomr2 (4) is throttling
Apr 24, 2026 22:12:58.918 [140522936548152] DEBUG - [Req#8b3/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Throttle - Going into sloth mode.
Apr 24, 2026 22:13:06.329 [140522940767032] DEBUG - [Req#8cd/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Session vsr8bsc04y9j7mz85qfeomr2 (4) is unthrottling
Apr 24, 2026 22:13:06.330 [140522944985912] DEBUG - [Req#8d0/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Throttle - Getting back to work.
Apr 24, 2026 22:13:06.728 [140522938657592] DEBUG - [Req#8dd/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Session vsr8bsc04y9j7mz85qfeomr2 (4) is throttling
Apr 24, 2026 22:13:06.728 [140522942876472] DEBUG - [Req#8de/Transcode/vsr8bsc04y9j7mz85qfeomr2/d29908e3-69d4-428d-b765-dad8ff119c92] Throttle - Going into sloth mode.

See if they continue during the course of the playback; if not, note when they stop. I’d recommend a relatively small throttle buffer size while doing this. Perhaps 30-60 seconds, just to be sure that their presence and absence will be regularly obversable.