stdenv: reintroduce limiting by system load#192799
stdenv: reintroduce limiting by system load#192799vcunat wants to merge 1 commit intoNixOS:stagingfrom
Conversation
Commit c2b898d removed the mechanism; now it's replaced by a different one with higher limit of $(nproc) * 2. Unfortunately there's no good mechanism how to override it from outside like `--cores` or `--max-jobs`, but at least the new limit should be high enough to avoid the previous downsides.
|
I'm opening this mainly for discussion for now. I believe that at least some load limit is better than none. I was testing this on a 24-core machine to observe the behavior. Using So I chose |
|
Ideally, I think should have this support on the That being said, I think this is better than what we had. |
|
Yes, adding a similar config to |
|
For my setup a load limit twice the cores is too high. It is more likely that my machines run out of memory or starting to swap. |
Yea, there's a big difference between a 2-core CI machine, and something like my 128 vCPU server :/ |
|
A good default for everyone seems impossible with the mechanisms at hand. Generally I believe it helps to set |
|
I created NixOS/nix#7091 to make a longer term solution viable. |
Note that most machines in Hydra have between 24 and 80 cores, but have between 2 and 80 cores allocated to the build. I agree there isn't a heuristic here that will be robust across hardware configurations. |
|
People who have RAM issues still have the option of reducing |
|
Yea, looked into what load actually provides, and I don't think it's as useful for burst workloads :(. |
|
But by reducing |
|
Linking #328677 for those subscribed to this. |
Commit c2b898d removed the mechanism; now it's replaced by a different one with higher limit of $(nproc) * 2.
Unfortunately there's no good mechanism how to override it from outside like
--coresor--max-jobs, but at least the new limit should be high enough to avoid the previous downsides.