September 24, 20187 yr Hi, After watching many of the excellent videos by SpaceInvader One, I decided to isoloate some cpus from UNRAID and the pin them to one VM and my Plex docker. However since doing this I have this error message from the "fix common problems" plugin, ERRORS FOUND SUGGESTED FIX Docker Application plex has multiple CPUs pinned to isolated CPUs Unless you know exactly what you are doing, pinning a docker application to multiple isolated CPUs will only allow the application to execute on a single isolated core and adjust either the Isolated CPUs or the application's CPU pinning I upgraded to Version 6.6.0 the other day without issue. Here's the line I added, isolcpus=4-15,20-31 and wanted to pin 4 or 6 cores to Plex. https://youtu.be/p0iPpPyebUw?t=517 Any advice please?
September 24, 20187 yr Author After reading what I wrote I would like to clarify, Quote Unless you know exactly what you are doing, pinning a docker application to multiple isolated CPUs will only allow the application to execute on a single isolated core If I understand correctly, I could pin Plex to 4 cores but it will only ever use one? Is that correct?
September 24, 20187 yr Author More info that should be useful. The error stated above says that Plex "will only execute on a single isolated core" As you can see here, I pinned 10-15,26-31 for Plex. On the dashboard I have this, clearly showing one core at 100% Did I misunderstand advanced tweaks from @SpaceInvaderOne ???? Many thanks
September 24, 20187 yr If you isolate cores via the cpu pinning page, and then tell Plex to execute on more than one of those cores via cpu pinning, it will only execute on one of them. Isolating cores is usually used to reserve the core for exclusive use of a VM. Sent from my LG-D852 using Tapatalk
September 25, 20187 yr Author 14 hours ago, Squid said: If you isolate cores via the cpu pinning page, and then tell Plex to execute on more than one of those cores via cpu pinning, it will only execute on one of them. Isolating cores is usually used to reserve the core for exclusive use of a VM. Thanks for the reply, I guess it was this part of the video I must have misunderstood. My question now is, is there any way at all to pin multiple cpu cores exclusively for docker applications? Thanks
September 26, 20187 yr On 9/25/2018 at 6:47 AM, footballmad said: My question now is, is there any way at all to pin multiple cpu cores exclusively for docker applications? unRaid will still potentially use those cores (along with any docker apps that aren't also pinned)
September 27, 20187 yr Author 17 hours ago, Squid said: unRaid will still potentially use those cores (along with any docker apps that aren't also pinned) So what's the point in isolating cores? Sorry if I've misunderstood.
September 27, 20187 yr If you want a VM to have exclusive access to the cores then you isolate those cores and pin the VM to them
September 27, 20187 yr Author 1 minute ago, Squid said: If you want a VM to have exclusive access to the cores then you isolate those cores and pin the VM to them Thanks for your reply, so I can forget it for docker containers then.
September 27, 20187 yr 6 minutes ago, Squid said: If you want a VM to have exclusive access to the cores then you isolate those cores and pin the VM to them I think I misunderstood the concept as well. Thought isolating cpu meant that unraid only would use said cores. So unraid and containers will always use all cores, unless I pin a specific container to specific numbers of cpu cores? Just to be clear, this screenshot does not mean that unraid only will use 4 cores then? Edited September 27, 20187 yr by ZataH
September 27, 20187 yr Your screenshot shows that unRaid (and docker) will NOT utilize cores 0, 1, 10, 11. It will use everything else. Isolating = Isolating them from the OS (ie: OS won't use them) Edited September 27, 20187 yr by Squid
September 27, 20187 yr 50 minutes ago, Squid said: Your screenshot shows that unRaid (and docker) will NOT utilize cores 0, 1, 10, 11. It will use everything else. Isolating = Isolating them from the OS (ie: OS won't use them) Thanks for clearing that up.
December 22, 20187 yr I also went in this trap. Quote CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment (to VMs or Docker containers). Settings/CPUset - CPU Isolation So I isolated half of the cores (6-11 + 18-23). I've since been troubles with Plex just grinding to a halt, and had actually decided to look into that today. Seems like I no longer have to. Running two 4K transcodes at the same time I could see it 100% the four cores it still had access to (it was pinned to 4-9 + 16-21), while it should have utilized up to 8 more cores. I'm assuming this will solve my issues. If isolation isn't supposed to let you assign cores to Docker I really think the help text should be updated. Edited December 22, 20187 yr by JimL
January 4, 20197 yr There definitely seems to be an issue with CPU isolation and Dockers.. Did a bunch of testing with Plex, Nzbget, Sonarr, Radarr etc and it seems when you isolate multiple cores, for example I Isolated cores 5/11 which is my pair I assigned those isolated CPUs to nzbget, sonarr,radarr and you can only see core 5 being utilized, not 11.. It doesn't make much sense. As soon as I disable isolation on lets say core 11, I can then see usage on that core from those dockers.. At this point I've completely turned off CPU isolation and it seems all my CPU pinning is working properly but id like to isolate certain cores so the OS doesn't utilize them at all, just certain dockers.. Not sure if this is a bug or a misunderstanding on how it's supposed to work.
January 4, 20197 yr 10 minutes ago, Trembler said: I Isolated cores 5/11 which is my pair I assigned those isolated CPUs to nzbget, sonarr,radarr and you can only see core 5 being utilized, not 11.. Isolating cores means that you're isolating them from the base OS (unRaid). Net result is that the task switcher won't touch those cores. Which means that if you pin an application to multiple isolated cores, it will only run on the lowest numbered one. IE: Don't isolate cores 5/11 if you want your apps to run on them. Isolating cores is generally only done to give a VM exclusive rights to the cores. Edited January 4, 20197 yr by Squid
January 4, 20197 yr To be honest, I argued for when a core is isolated to not allow the GUI to let you select it for a container, as I knew that this question was going to happen over and over again. (which it has).
January 6, 20197 yr On 1/4/2019 at 7:48 PM, Squid said: To be honest, I argued for when a core is isolated to not allow the GUI to let you select it for a container, as I knew that this question was going to happen over and over again. (which it has). It would at least help if the text was changed to this Quote CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment to VMs. Instead of what it currently is, which explicitely states you can use isolated cores for docker containers Quote CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment (to VMs or Docker containers). Settings/CPUset - CPU Isolation But yes I would agree, disabling the cores where they are not usable, preferably with a tooltip saying the core is isolated would be very nice. Edited January 6, 20197 yr by JimL
January 6, 20197 yr 42 minutes ago, JimL said: CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment (to VMs or Docker containers). Probably the argument would be that the statement as above is actually correct. Nothing says that you can't isolate a core and then have a container(s) run on it. The problem lies when multiple cores are isolated and the container is then pinned to those multiple cores. (as an aside, the Fix Common Problems plugin does catch this error)
January 7, 20197 yr I might be slow but I still find it extremely confusing. Like, I understand (from your posts, not the web ui) that if I select the cores to be isolated then I am stuck with assigning ONE core to each "thing". But does that mean VMs can also only run on one (isolated) core? Seems like a use case that at least I find to be very edge case / never used. Edited January 7, 20197 yr by JimL
January 8, 20197 yr On 1/4/2019 at 9:55 AM, Squid said: Isolating cores means that you're isolating them from the base OS (unRaid). Net result is that the task switcher won't touch those cores. Which means that if you pin an application to multiple isolated cores, it will only run on the lowest numbered one. IE: Don't isolate cores 5/11 if you want your apps to run on them. Isolating cores is generally only done to give a VM exclusive rights to the cores. Thank you, makes total sense! It's confusing. I like the thought of not being able to select isolated cores in the containers. So basically if i isolate cores i can use them just for the VM and nothing else will touch them? Edited January 8, 20197 yr by Trembler
January 8, 20197 yr 8 hours ago, Trembler said: So basically if i isolate cores i can use them just for the VM and nothing else will touch them? Correct
September 8, 20196 yr I resurrect this post as it is not clear for me: I have a 8 cores CPU and I isolated 4 cores so unraid does not use them. If I don't pin any docker, will they use the 4 cores + the 4 isolated cores that unraid is unable to use or will they be restricted to the same cores as unraid? Thanks
September 8, 20196 yr Same cores as unRaid. And if you pin a docker app to more than 1 of the isolated cores, then they will only use 1 core
September 8, 20196 yr Ok so the best solution is to restrict unraid to 4 cores and then distribute 1 isolated core per docker
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.