Есть машина с относительно небольшим количеством памяти (4-8Gb), на которой периодически нужно запускать компиляцию большого проекта на C++. Проблема в том, что даже с ограничением на 1 поток, g++ может съедать несколько Gb оперативки. При этом все остальное вытесняется в swap и подвисает.
Я слышал, что Systemd позволяет запускать графические процессы в отдельной группе и задавать на них ограничения по памяти. Возможно ли задать их так, чтобы в swap попадал только сам g++ а не GUI?
На машине будет стоять Arch. Так же интересно, есть ли шанс что-то сделать c этим в Ubuntu?
Стоит настроить низкий memory.swappines для xorg-server? А в ubuntu без systemd с этим могут возникнуть проблемы? Xorg там запускается от root. В документации пишут: "You cannot change the swappiness of the root cgroup, which uses the swappiness set in /proc/sys/vm/swappiness"
tsarevfs: могу предложить следующий вариант: пускаем иксовые приложения из отдельного lxc-таза(https://www.stgraber.org/2014/02/09/lxc-1-0-gui-in... статья про это, а этому тазу настраиваем swappiness.
Честно скажу, что не пробовал, но все инструменты для этого вижу, думаю что получится.