OpenBSD manual page server

Manual Page Search Parameters

SCHEDCTL(8) System Manager's Manual SCHEDCTL(8)

schedctlcontrol scheduling of processes and threads

schedctl [-A cpus] [-C class] [-P pri] [-t lid] -p pid | command

The schedctl command can be used to control the scheduling of processes and threads. It also returns information about the current scheduling parameters of the process or thread. Only the super-user may change the scheduling parameters. schedctl can also be used to start a new command using the specified parameters.

Available options:

Set of the processors on which process or thread should run, that is, affinity. Processors are defined as numbers (starting from zero) and separated by commas. A value of -1 is used to unset the affinity.
Scheduling class (policy), one of:
Time-sharing (TS) scheduling policy. The default policy in NetBSD.
First in, first out (FIFO) scheduling policy.
Round-robin scheduling policy.
Priority for the process or thread. Value should be in the range from SCHED_PRI_MIN (0) to SCHED_PRI_MAX (63). Setting of priority for the process or thread running at SCHED_OTHER policy is not allowed.
The target process which will be affected. If the process has more than one thread, all of them will be affected.

If -p is not given, a command to execute must be given on the command line.

Thread in the specified process. If specified, only this thread in the process will be affected. May only be specified if -p is also given.

Show scheduling information about the process whose ID is “123”:

# schedctl -p 123

Set the affinity to CPU 0 and CPU 1, policy to SCHED_RR, and priority to 63 for thread whose ID is “1” in process whose ID is “123”:

# schedctl -p 123 -t 1 -A 0,1 -C SCHED_RR -P 63

Run the top(1) command with real-time priority:

# schedctl -C SCHED_FIFO top

nice(1), getpriority(2), setpriority(2), psrset(8), renice(8)

The schedctl command first appeared in NetBSD 5.0.

March 21, 2011 NetBSD-7.0.1