scx-upstream/services
Peter Jung cb8928260e
systemd-service: Don't restart always
Currently if the scx.service is failing to launch due issues, systemd will try to start the scheduler all the time.
This results into a massive flood to the kernel and does not bring the service up again.

explanation of the changes:
The StartLimitBurst=2 and StartLimitIntervalSec=30 settings tell systemd that if the service unsuccessfully tries to restart itself twice within 30 seconds, it should enter a failed state and no longer try to restart. This ensures that if the service is truly broken, systemd won't continuously try to restart it.

Signed-off-by: Peter Jung <admin@ptr1337.dev>
2024-05-09 14:54:07 +02:00
..
openrc services/openrc: symlinking fix 2024-04-03 22:02:14 +02:00
systemd systemd-service: Don't restart always 2024-05-09 14:54:07 +02:00
README.md Update README.md 2024-01-27 00:59:23 +01:00
scx scx: update /etc/default/scx 2024-03-18 09:25:11 +01: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

Checking Journald Logs

The SCX schedulers do not log to the default journald namspace. 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