scx/services
Vladislav Nepogodin 9b5e8da8e3
scx_loader: Add systemd service and on-DBUS launch
- add ability to start loader at system start as a service

- add ability to automatically launch on DBUS call whenever third-party
calls the interface

ref: "Example 7. DBus services" https://www.freedesktop.org/software/systemd/man/256/systemd.service.html
2024-09-27 23:51:28 +04:00
..
openrc openrc: drop separate logs 2024-09-05 18:19:01 +02:00
systemd scx_loader: Add systemd service and on-DBUS launch 2024-09-27 23:51:28 +04:00
README.md Update README.md 2024-08-30 18:54:52 +02:00
scx scx-scheds: update bpflands suggested flags 2024-09-05 15:06:21 +02:00

A Quick Start Guide

This guide provides instructions for running the SCX schedulers as a systemd service and checking its logs.

Getting Started

At the very beginning, configure the /etc/default/scx file:

  • in the SCX_SCHEDULER variable, select the scheduler you are interested in

  • in the SCX_FLAGS variable, specify the flags you want to add. To do this, execute and read what flags you can add.

scx_SCHEDNAME --help

To start the SCX scheduler at boot, you need to run the systemd service as root. Here are the steps:

  • Enable the service:
systemctl enable scx.service
  • Start the service:
systemctl start scx.service

Alternatively, you can use a shortened version of these commands:

systemctl enable --now scx.service
  • To check the status of the service, use the following command:
systemctl status scx.service

Override global configuration

It is possible to override the global scx settings using systemd environment variables SCX_SCHEDULER_OVERRIDE and SCX_FLAGS_OVERRIDE.

Example:

systemctl set-environment SCX_SCHEDULER_OVERRIDE=scx_rustland
systemctl set-environment SCX_FLAGS_OVERRIDE="-s 10000"
systemctl restart scx

If you want to restore the default value from the /etc/default/scx file execute:

systemctl unset-environment SCX_SCHEDULER_OVERRIDE
systemctl unset-environment SCX_FLAGS_OVERRIDE
systemctl restart scx

Checking journald Logs

  • To view the logs, use the following command:
journalctl -u scx.service
  • To view the logs of the current session use the command
journalctl -u scx.service -b 0