SYNOPSIS
priocntl -l
priocntl -d [-i idtype] [idlist]
priocntl -s [-c class] [c.s.o.] [-i idtype] [idlist]
priocntl -e [-c class] [c.s.o.] command [argument(s)]
DESCRIPTION
The priocntl command sets or displays scheduling parameters for a set
of processes. Every running process is member of a scheduling class.
Standard scheduling classes are:
The time-sharing class (TS), which is usually the default. Pro-
cesses in this class are scheduled according to a dynamic prior-
ity based on the adjustable base priority and fair usage princi-
ples. The base priority used with the priocntl command is the
negative of the nice value (see nice(1)); higher base priorities
mean a higher chance that the process is run. Base priorities
range between -19 and 20.
The batch class (B), whose members are given longer timeslices
but can be preempted by any time-sharing process.
The isochronous class (ISO), whose members retain their dynamic
priority even if they make heavy use of computing resources.
The real time round-robin (fixed priority) scheduling class (RT
or FP). Processes that belong to this class have always a fixed
higher priority than processes in the time-sharing class and are
scheduled according to a priority value (1 to 99). Each process
can run for a maximum time quantum and is placed at the end of
the associated priority list if the time quantum is exceeded.
The real time first in-first out scheduling class (FF), which is
similar to the round-robin scheduling class except that no maxi-
mum time quantum is applied.
The process usually requires privilegue to get into one of the real
time scheduling classes. If a process tries this but lacks the privi-
legue, it will be put into the isochronous class instead.
See sched_setscheduler(2) for further detail on scheduling classes.
With the -l option, a list of all available scheduling classes is
printed along with the associated parameters for each class.
The -d option causes the current scheduling parameters for a set of
processes to be printed.
The -s option allows to alter the scheduling parameters for a set of
processes. To change the parameters of the init process (process ID
1), the -i pid option must be specified with 1 appearing in idlist.
present in idlist.
sid Selects all processes that belong to a session whose
session id is present in idlist.
class idlist is interpreted as a set of scheduling classes;
all processes that belong to a given class are selected.
uid Selects all processes whose (numeric) effective user ID
appears in idlist .
gid Selects all processes whose (numeric) effective group ID
appears in idlist .
all Selects all processes currently running. The idlist
arguments are ignored.
If an -i option is present but no idlist is specified, the process ID,
parent process ID etc. of the priocntl command itself is used.
The -c option allows to select a scheduling class for processes with
the -s and -e options (see above for the explanation of valid classes).
The class-specific option is currently -p priority for all scheduling
classes; it allows to set the base or scheduling priority for the
process, as described above.
SEE ALSO
nice(1), renice(1), sched_setscheduler(2), setpriority(2)
NOTES
Due to the lack of a priocntl() system call on Linux and FreeBSD,
selection of processes is performed in user space, and there is a time
gap between selection and the operation of parameter setting with the
-s option. For an idlist of other than a single process id, it is thus
possible that the priocntl command misses processes that are created at
the time it is running, without being able to inform the user if this
has happened.
The batch class and the isochronous class are not available on FreeBSD
and are currently not part of the mainline Linux kernel; Con Kolivas'
patch set adds support for them.
Heirloom Toolchest 9/25/04 PRIOCNTL(1)
Man(1) output converted with
man2html