NAME
schedctl —
control scheduling of
processes and threads
SYNOPSIS
schedctl |
[-A
cpus] [-C
class] [-P
pri] [-t
lid] -p
pid | command |
DESCRIPTION
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:
-
-
- -A
cpus
- 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.
-
-
- -C
class
- Scheduling class (policy), one of:
-
-
SCHED_OTHER
- Time-sharing (TS) scheduling policy. The default policy
in NetBSD.
-
-
SCHED_FIFO
- First in, first out (FIFO) scheduling policy.
-
-
SCHED_RR
- Round-robin scheduling policy.
-
-
- -P
pri
- 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.
-
-
- -p
pid
- 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.
-
-
- -t
lid
- 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.
EXAMPLES
Show scheduling information about the process whose ID is “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
SEE ALSO
nice(1),
getpriority(2),
setpriority(2),
psrset(8),
renice(8)
HISTORY
The
schedctl command first appeared in
NetBSD
5.0.