scx-upstream/services
Piotr Gorski ee7c0cbea6
scheds: Add scx_bpfland scheduler to /etc/default/scx
Signed-off-by: Piotr Gorski <lucjan.lucjanov@gmail.com>
2024-06-28 22:01:24 +02:00
..
openrc services/openrc: symlinking fix 2024-04-03 22:02:14 +02:00
systemd Revert "Add After=graphical.target into service" 2024-06-26 12:08:21 +02:00
README.md README: Add information about restoring default values 2024-06-14 21:24:56 +02:00
scx scheds: Add scx_bpfland scheduler to /etc/default/scx 2024-06-28 22:01:24 +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

The SCX schedulers do not log to the default journald namespace. Instead, they save logs in a dedicated sched-ext namespace. This is where you should look for information about possible errors.

  • To view the logs, use the following command:
journalctl --namespace=sched-ext
  • To find logs from another system startup and identify when a potential error might have occurred, use:
journalctl --namespace=sched-ext --list-boots
  • To verify the amount of space taken up by the logs, use:
journalctl --namespace=sched-ext --disk-usage