Есть 4 меделеных ядра, systemd, 2 пользователя и желание нагрузить комп многопотоком так, чтобы мне это не мешало. nice прекрасно работал давно, когда ядро было единственное и процессы однопоточные. Почитал про cgroups и сделал вывод, что с помошью этой штуки можно рулить приоритетами для многопоточной нагрузки на многоядерных системах, т.е. теоретически это то что надо.
Далее, раз уж системд всё равно есть, раз уж cgroups в него зашит, то и пользоваться нужно им. Вроде как каждой отдельной сессии пользователя выдаётся отдельный slice с собственной долей cpu и в соответствии с этой долей выделяются проценты cpu. Стандартно доли равные, но можно указать в /etc/systemd/system/user-1000.slice.d/50-CPUShares.conf
[Slice]
CPUShares=2048
[Slice]
CPUShares=100
Ребут, логин первичного и вторичного пользователей, запуск условного майнера под вторичным, и что то идёт не так: условный майнер отказывается отдавать первичному пользователю более 50% свободного cpu, даже если первичный создаёт 8-10-12 потоков нагрузки.
Почему настройка CPUShares не применяется (механизм работает! но явно с равными шарами!) и предусмотрен ли способ применять изменения без перезагрузки системы? А без перезапуска сессии?