February 25, 20215 yr Hey guys! I have a question about how CPU pinning and isolation work. Is it right that when you pin a thread that it will just use that thread. And with CPU isolation that it will not use that thread? The reason I'm asking this is because that I always thought that it was the same thing.
February 25, 20215 yr @brainbudt , @sbo365web If you switch on the help in the GUI on the isolation page, you will find this; Quote CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment (to VMs or Docker containers). This is incredibly important for gaming VMs to run smoothly because even if you manually pin your Docker containers to not overlap with your gaming VM, the host OS can still utilize those same cores as the guest VM needs for things like returning responses for the webGui, running a parity check, btrfs operations, etc. So, when you pin a core to a VM or Docker, that core is allocated to the VM/Docker, but the unRAID OS may still access it and use it for various tasks. When you isolate a core, it is no longer accessible even by unRaid for routine tasks and should therefore be 100% dedicated to wherever it's pinned. You can pin cores without requiring a system restart. You must restart your unRaid server to effect any isolation changes. Edited February 25, 20215 yr by meep emphasis and @
February 25, 20215 yr Author 5 hours ago, meep said: @brainbudt , @sbo365web If you switch on the help in the GUI on the isolation page, you will find this; So, when you pin a core to a VM or Docker, that core is allocated to the VM/Docker, but the unRAID OS may still access it and use it for various tasks. When you isolate a core, it is no longer accessible even by unRaid for routine tasks and should therefore be 100% dedicated to wherever it's pinned. You can pin cores without requiring a system restart. You must restart your unRaid server to effect any isolation changes. Thanks! Would it be okay when you give the OS 2-4 thread and would there be any negatives in the file transfer speed with going to low?
February 25, 20215 yr 1 hour ago, brainbudt said: Thanks! Would it be okay when you give the OS 2-4 thread and would there be any negatives in the file transfer speed with going to low? That should be fine. I believe the recommendations are to give unRaid at least core 0, and alway include core 0 as there is some benefit in that (i'm not sure what). Remember, the above guidance is specifically around isolating cores for high performance VMs such as gaming. If you have a few dokers that are not computationally intensive, you can pin non-isolated cores to them, leaving a bit of headroom for unRaid to take as needed. Also, you don't need to isolate ALL the cores assigned to a VM. You can, say, assign 4x threads to a VM, but only isolate 2 of them. The VM then has two dedicated threads form its exclusive use and two others that may or may not have other tasks assigned. There's also a TON of esoteric analysis on here about performance benefits of assigning specific threads / cores to VMs based on how the CPU is constructed etc. Its as bit over my head, but some peeps seem to have eeked out a bit more horsepower by paying close attention to how core assignment is managed. based on CPU architecture.
October 31, 20241 yr On 2/25/2021 at 6:32 PM, meep said: So, when you pin a core to a VM or Docker, that core is allocated to the VM/Docker, but the unRAID OS may still access it and use it for various tasks. When you isolate a core, it is no longer accessible even by unRaid for routine tasks and should therefore be 100% dedicated to wherever it's pinned. You can pin cores without requiring a system restart. You must restart your unRaid server to effect any isolation changes. Hey, I know this is an old thread, but I want to ask, if I isolate a core without giving it to any docker or VM, will that core be exclusively for Unraid use? I'm asking because sometimes I get 100% CPU usage and I can't access unraid webgui. So if I isolate a core, I can access the webgui no matter what. Edited October 31, 20241 yr by HHUBS
November 8, 20241 yr @HHUBS I don't believe an isolated CPU can be utilised by the OS. The help on CPU Isolation settings says the following; CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment (to VMs or Docker containers). This is incredibly important for gaming VMs to run smoothly because even if you manually pin your Docker containers to not overlap with your gaming VM, the host OS can still utilize those same cores as the guest VM needs for things like returning responses for the webGUI, running a parity check, btrfs operations, etc. That would indicate to me that an isolated core is reserved exclusively, and not used by OS. It's typically recommenced that you never isolate, assign or pin CPU 0 as this is favoured by unRaid for OS specific tasks and processing. If you have CPU 0 pinned or assigned to Docker or VMs, that might contribute to your 100% usage issue? As always, I could be wrong, and other more knowledgeable may row in.
November 12, 20241 yr On 11/8/2024 at 6:48 PM, meep said: @HHUBS I don't believe an isolated CPU can be utilised by the OS. The help on CPU Isolation settings says the following; CPU isolation allows the user to specify CPU cores that are to be explicitly reserved for assignment (to VMs or Docker containers). This is incredibly important for gaming VMs to run smoothly because even if you manually pin your Docker containers to not overlap with your gaming VM, the host OS can still utilize those same cores as the guest VM needs for things like returning responses for the webGUI, running a parity check, btrfs operations, etc. That would indicate to me that an isolated core is reserved exclusively, and not used by OS. It's typically recommenced that you never isolate, assign or pin CPU 0 as this is favoured by unRaid for OS specific tasks and processing. If you have CPU 0 pinned or assigned to Docker or VMs, that might contribute to your 100% usage issue? As always, I could be wrong, and other more knowledgeable may row in. Thanks for the reply. I have pinned core 0 to none. I was running Prometheus, telegraf, influxdb, and grafana before then I disabled it a week ago and I have not experienced 100% CPU anymore. Still need more time to observe though. Edited November 12, 20241 yr by HHUBS
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.