September 10, 20187 yr Okay, I need to reach out to the hive mind for ideas. I work in IT, so I've got enough experience to realize that it's probably something I've done (or didn't do), but I can't figure out what. Help me Obi Wan(s). So, I'm running LinuxServer Plex, and everything is good in the hood, when I decide to try hardware transcoding (running i7-8700k). Found some directions, modified go, syslinux, tossed the correct extra parameter into the docker, and bam, my cpu utilization dropped significantly (like 15% to 5% or something), and tatulli was reporting (HW) in the transcode. I could run multiple transcode streams, and everything seemed fine. But then one day people started complaining about buffering, and that surprised me, because my old i7-3770k (running Plex on W7) wouldn't have had these hiccups running 3-4 transcodes, so why would this box be doing it... Looking at the dashboard, it seemed to be routing all my transcodes to CPU0. If I disabled the hardware transcode, it seemed to distribute back to all 12 cpus. Well, i figured it wasn't optimal to do that, so I started looking at CPU pinning. So, watched a few videos put up by SpaceInvader One, and thought to optimize my server. Set up isolcpus to block off CPU 2-5,8-11 so I could reserve that for Plex. Okay, now everything is running in CPU 0-1,6-7. Add cpuset-cpus to Plex, and... Everything is running through CPU2. Regardless of if Hardware transcode is on or not, it's all CPU2. Installed cAdvisor, and sho nuff, everything is CPU2. All those other cores are just napping. I tried reformatting to cpus=2,8,3,9... etc, and same thing. I remove the pinning, and everything routes back through the main cpus (leaving the 8 logical cores alone)... I'm just at a loss here. I removed the hw transcode "check" in the plex gui, and the "--device /dev/dri:/dev/dri" from the docker parameters, but it's making no difference. I didn't remove the original stuff I added to the go or syslinux, and maybe that's part of the issues? I dunno. Anyone have any ideas? unspork-diagnostics-20180909-2255.zip Edited September 11, 20187 yr by Sporkybay solved
September 10, 20187 yr What are your plex settings under transcoder? What do you have the quality set to? Also what do you have the 'Background transcoding x264 preset' set to? I am pinning only 3 cpu's with a total of 6 cores on my server, I have no issues with Plex and I've had up to four concurrent streams @720p. What is your quality for streaming set to? Are you streaming at 1080 or 720?
September 10, 20187 yr @Sporkybay There seem to be several posts in Plex forum related to this issue. Have your read through them? I don't know if the answer is there, but, it has come up before in Plex land. http://www.lmgtfy.com/?q=plex+uses+only+one+cpu+core I seriously doubt there there is anything in your docker configuration, go file, etc. that would cause this if you have followed the instructions in these forums which you appear to have done. The only unRAID configuration which would affect this is pinning only one CPU to Plex docker which you are clearly not doing). I say this because this is the first case of this I recall being reported in these forums and many of us are using Plex hardware transcoding without issue and it is using all available cores/threads. Have you seen this behavior with other dockers, VMs, unRAID processes, etc., or is the issue limited to this one case of Plex hardware transcoding? EDIT: Out of curiosity, have you tried the unRAID 6.6.0rc2 release? Supposedly, and I cannot verify this as I do not have a Coffee Lake CPU, the 4.18 Linux kernel supports i915 drivers natively in Coffee Lake CPUs and does not require the alpha_support modification in syslinux.cfg. If that is true and the problem persists, it would eliminate alpha_support enabling on your CPU as a factor. Edited September 10, 20187 yr by Hoopster
September 10, 20187 yr Author 3 hours ago, ashman70 said: What are your plex settings under transcoder? What do you have the quality set to? Also what do you have the 'Background transcoding x264 preset' set to? I am pinning only 3 cpu's with a total of 6 cores on my server, I have no issues with Plex and I've had up to four concurrent streams @720p. What is your quality for streaming set to? Are you streaming at 1080 or 720? I have Quality at Auto, with the x264 preset at Very Fast. Quality is primarily 720p, but the file I used for testing is a brutal 1080p one (you know those Chris Nolan films).
September 10, 20187 yr Author @Hoopster Lol. Thanks for the link. I've chased that rabbit a while before coming here for some of everyone's wisdom. No other docker or process is acting like this, which makes me think it may be "unique" to my Plex install. I haven't tried upgrading, but maybe I'll give it a go. Never done one before... How hard could it be? I'll be googling/reading furiously once I get home. In your opinion/experience, should I remove the Alpha_Support from SysLinux before upgrading? Or is it one of those, "I guess we'll find out what the button does when I push it" things?
September 10, 20187 yr 47 minutes ago, Sporkybay said: @Hoopster Lol. Thanks for the link. I've chased that rabbit a while before coming here for some of everyone's wisdom. No other docker or process is acting like this, which makes me think it may be "unique" to my Plex install. I haven't tried upgrading, but maybe I'll give it a go. Never done one before... How hard could it be? I'll be googling/reading furiously once I get home. In your opinion/experience, should I remove the Alpha_Support from SysLinux before upgrading? Or is it one of those, "I guess we'll find out what the button does when I push it" things? Just to verify if the reports of later Linux kernels not needing alpha support for Coffee Lake CPUs are true, I would disable alpha support in syslinux.cfg before upgrading to unRAID 6.6.0rc2. If you still have Plex transcoding working (one or more cores), then you know alpha support is no longer needed. If there is no hw transcoding, you can turn alpha support back on and enjoy playing with CPU isolation and pinning through the GUI. There has to be something unique about your configuration; some obscure BIOS setting or Plex configuration setting perhaps, that is messing with the way hw transcoding works on your CPU. By the way the "Let me Google that for you" link was just a way of making sure you saw the same results I saw. It was not intended to imply that you had not googled the issue on your own. Edited September 10, 20187 yr by Hoopster
September 11, 20187 yr Author 9 hours ago, Taddeusz said: If you go to the terminal and run "top" what process is using so much CPU? Plex Transcoder.
September 11, 20187 yr On 9/10/2018 at 1:59 PM, Sporkybay said: So, watched a few videos put up by SpaceInvader One, and thought to optimize my server. Set up isolcpus to block off CPU 2-5,8-11 so I could reserve that for Plex. Okay, now everything is running in CPU 0-1,6-7. Add cpuset-cpus to Plex, and... Everything is running through CPU2. Regardless of if Hardware transcode is on or not, it's all CPU2. Installed cAdvisor, and sho nuff, everything is CPU2. All those other cores are just napping. I tried reformatting to cpus=2,8,3,9... etc, and same thing. I remove the pinning, and everything routes back through the main cpus (leaving the 8 logical cores alone)... You can't isolate cpu in the flash config AND pin the same cpu cores to dockers. Your flash config says you isolated 2-5, 8-11. If you set Plex to use any of those 8 cores, it will just max out the first one (in this case core 2) and uses nothing else. Basically "unRAID" and "docker" are the same thing aka "the host". If you force the host to use something that is isolated from it (e.g. pin an isolated core on a docker), it will go into stupid mode. Solution: Change your Plex core pin to use non-isolated cores and/or change your flash config to exclude the cores that Plex uses Edited September 11, 20187 yr by testdasi
September 11, 20187 yr Author 37 minutes ago, testdasi said: Solution: Change your Plex core pin to use non-isolated cores and/or change your flash config to exclude the cores that Plex uses Thank you @testdasi, I was just coming here to post that I solved this last night by following these exact steps. I also blew away my Plex Codecs folder, and upgraded my UnRaid to 6.5.3. Now transcoding is distributing the load between the 8 cpus I wanted. I must have misunderstood SpaceInvader One in his Pt3 video about Performance Tuning, because I thought he said that snapping a docker was possible to isolated cores. Like I said in my OP, I knew I had to have done something wrong. With a specific caveat though, because all of this idea for cpu isolation started with all my transcodes funneling into CPU0 and people reporting buffering issues. I wasn't using pinning, hence, why I tried to move the load to other CPUs in the first place. Thank you everyone!
September 11, 20187 yr 1 hour ago, testdasi said: You can't isolate cpu in the flash config AND pin the same cpu cores to dockers. Good catch!
Archived
This topic is now archived and is closed to further replies.