IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
* One option is to simply globally turn off that systemd creates a "cpu" cgroup for each of the system services.
For that, edit `/etc/systemd/system.conf` and set `DefaultControllers=` to the empty string, then reboot.
(An alternative is to disable the "cpu" controller in your kernel, entirely.
systemd will not attempt to make use of controllers that aren't available in the kernel.)
* Another option is to turn this off for the specific service only.
For that, edit your service file, and add `ControlGroup=cpu:/` to its `[Service]` section.
This overrides the default logic for this one service only,
and places all its processes back in the root cgroup of the "cpu" hierarchy, which has the full RT budget assigned.
* A third option is to simply assign your service a realtime budget.
For that use `ControlGroupAttribute=cpu.rt_runtime_us 500000` in its `[Service]` or suchlike.
See [the kernel documentation](http://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt) for details.
The latter two options are not available for System V services.
A possible solution is to write a small wrapper service file that simply calls the SysV script's start verb in `ExecStart=` and the stop verb in `ExecStop=`.
(It also needs to set `RemainAfterExit=1` and `Type=forking`!)
Note that this all only applies to services.
By default, user applications run in the root cgroup of the "cpu" hierarchy, which avoids these problems for normal user applications.
In the long run we hope that the kernel is fixed to not require an RT budget to be assigned for any cgroup created before a process can acquire RT (i.e. a process' RT budget should be derived from the nearest ancestor cgroup which has a budget assigned, rather than unconditionally its own uninitialized budget.)
Ideally, we'd also like to create a per-user cgroup by default, so that users with many processes get roughly the same amount of CPU as users with very few.