ac8209404cb1b6b89ad3ee527985ac2e7ad7e253
When the maximum memory size is chosen too large (relative to the free memory usage), so that the evaluation workers don't fit into the free memory, they will start being swapped out. Further increase in memory usage will not be reflected in the RSS, so they will not exit, and instead fill up all swap too until the system runs out of memory. The BDW-GC keeps track of its heap size, including any parts of it that may be swapped out. For this reason it does not suffer from a similar problem. While not all memory usage by the evaluation worker is accounted for by the GC, a simple affine model for the overhead works reasonably well in practice. The specific parameter values were determined using nixpkgs evaluation, and appear to work quite well also for somewhat different workloads (like the `hydraJobs` of Lix, which include a bunch of NixOS system configurations). So this is what gets used. When Lix is configured without the BDW-GC, of course this approach cannot be used. In this case the old strategy is retained. Change-Id: I6cb5f0a9b4ceda9dd14be165dda108cd6a6a6964
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%