priocntl man page on Tru64

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
Tru64 logo
[printable version]

srchtxt(1)							    srchtxt(1)

NAME
       priocntl - process scheduler control

SYNOPSIS
       priocntl -l

       priocntl -d  [-i idtype] [idlist]

       priocntl -s  [-c class] [class-specific options] [-i idtype] [idlist]

       priocntl	 -e   [-c  class]  [class-specific  options]  [command] [argu‐
       ment(s)]

DESCRIPTION
       The priocntl command displays or	 sets  scheduling  parameters  of  the
       specified  process  or  processes.  It can  also be used to display the
       current configuration information for the system's process scheduler or
       for executing a command with specified scheduling parameters.

       Processes fall into distinct classes with  a separate scheduling policy
       applied to each class. The four process classes currently supported are
       the  real-time class, posix round-robin class, posix fifo class and the
       time-sharing class. The characteristics of these four classes  and  the
       class-specific  options they accept are described below under different
       headings. With appropriate permissions, the priocntl command can change
       the  class  and	other  scheduling parameters associated with a running
       process.

       A runnable real-time or posix process runs before a normal time-sharing
       process.	 Therefore, inappropriate use of real-time and posix processes
       can have a significant negative impact on system performance.

       The  command priocntl -l displays a list of classes  currently  config‐
       ured  in	 the  system  along with class-specific information about each
       class. The  format  of  the  class-specific  information	 displayed  is
       described under the appropriate heading below.

       The  -d	and -s options allow the user to display or set the scheduling
       parameters associated with a set of processes.

       The -i option and its associated idtype	argument,  together  with  the
       idlist arguments to priocntl (if any), specify one or more processes to
       which the priocntl command is to apply. The  interpretation  of	idlist
       depends	on  the value of idtype. The valid idtype arguments and corre‐
       sponding interpretations of idlist are as follows: idlist is a list  of
       process	IDs.  The priocntl command applies to the specified processes.
       idlist is a list of parent process IDs. The priocntl command applies to
       all  the processes whose parent process ID is in the list.  idlist is a
       list of process group IDs. The priocntl command applies to all the pro‐
       cesses  in  the	specified process groups.  idlist is a list of session
       IDs. The priocntl command applies to all the processes in the specified
       sessions.   idlist consists of a single class name (RT for real-time or
       TS for time-sharing. The priocntl command applies to all the  processes
       in  the	specified  class.   idlist is a list of user IDs. The priocntl
       command applies to all the processes with an effective user ID equal to
       an  ID from the list.  idlist is a list of group IDs. The priocntl com‐
       mand applies to all the processes with an effective user ID equal to an
       ID  from	 the  list.  The priocntl command applies to all the exisiting
       processes. No idlist should be specified (if specified, it is ignored).
       The permission restrictions described below still apply.

       If  the	-i  idtype  is	omitted	 when  using the -d or -s options, the
       default idtype of pid is assumed.

       If an idlist is present, it must appear last on the  command  line  and
       the elements of the list must be separated by white space. If no idlist
       is present, an idtype argument of pid, ppid, pgid, sid, class,  uid  or
       gid specifies the process ID, parent process ID, process group ID, ses‐
       sion ID, class, user ID or group ID respectively of the	priocntl  com‐
       mand itself.

       The command

       priocntl [-d] [-i idtype] [idlist]

       displays	 the  class  and  class-specific  scheduling parameters of the
       process or processes specified by idtype and idlist.

       The command

       priocntl [-s] [-c class] [class-specific options] [-i idtype] [idlist]

       sets the class and class-specific parameters of the specified processes
       to  the	values	given on the command line. The -c option specifies the
       class to be set (The valid class arguments are RT for real-time, PSX_RR
       for  posix  round-robin, PSX_FF for posix fifo or TS for time-sharing).
       The  class-specific parameters to be set are specified  by  the	class-
       specific	 options. If the -c class option is omitted, idtype and idlist
       must specify a set of processes, which are all in the same class.  Oth‐
       erwise,	an  error results. If no class-specific options are specified,
       the process' class-specific parameters are set to  the  default	values
       for the class specified by -c class (or to the default parameter values
       for the process' current class if the -c class option is also omitted).

       In order to change the scheduling parameters of	a  process  using  the
       priocntl	 command,  the	real or effective user ID of the user invoking
       priocntl must match the real or effective  user	ID  of	the  receiving
       process.	  Alternatively, the user must have a super-user ID. These are
       the minimum permission requirements enforced for all  classes. An indi‐
       vidual  class  may impose additional permissions requirements when set‐
       ting processes to that  class or when  setting class-specific  schedul‐
       ing parameters.

       When idtype and idlist specify a set of processes, the priocntl command
       acts on the processes in the set in an  implementation-specific	order.
       If the priocntl command encounters an error for one or more of the tar‐
       get processes, it may or may not continue through the set of processes,
       depending  on  the nature of the error. If the error is related to per‐
       missions, the priocntl command prints an error message  and  then  con‐
       tinue  through the process set, resetting the parameters for all target
       processes for which the user has appropriate  permissions. If the  pri‐
       ocntl  command  encounters an error other than permissions, it does not
       continue through the process set	 but prints an error message and exits
       immediately.

       A special sys scheduling class exists for the purpose of scheduling the
       execution of certain special system  processes  (such  as  the  swapper
       process).   It  is  not	possible to change the class of any process to
       sys. In	addition, any processes in the sys class that are included  in
       the  set of processes specified by idtype and idlist are disregarded by
       priocntl. For example, if idtype was uid, an  idlist  consisting	 of  a
       zero would specify all processes with a UID of zero except processes in
       the sys class and (if changing the parameters using the -s option)  the
       init  process.  The  init  process (process ID 1) is a special case. In
       order for the priocntl command to  change the class or other scheduling
       parameters  of  the init process, idtype must be pid and idlist must be
       consist of only a 1. The init process may be assigned to any class con‐
       figured	on the system, but the time-sharing class is almost the appro‐
       priate choice. (Other choices may be highly undesirable; see  the  UNIX
       System V Release 4 System Administrator's Guide for more information).

       The command

       priocntl	 [-e]  [-c  class]  [class-specific  options] [command] [argu‐
       ment(s)]

       executes the specified command with the class and scheduling parameters
       specified  on the command line (arguments are the arguments to the com‐
       mand).  If the -c class option is omitted the command  is  run  in  the
       user's current class.

       REAL-TIME CLASS

       The  real-time  class  provides a fixed priority pre-emptive scheduling
       policy for those processes requiring fast  and  deterministic  response
       and  absolute user/application control of scheduling priorities. If the
       real-time class is configured in the system it  should  have  exclusive
       control	of  the	 highest range of scheduling priorities on the system.
       This ensures that a runnable real-time process  is  given  CPU  service
       before any process belonging to any other class.

       The  real-time  class  has a range of real-time priority (rtpri) values
       that   may be assigned to processes within the class. Real-time priori‐
       ties range from 0 to x, where the value of x is configurable and can be
       displayed for a specific installation by using the command priocntl-l

       The real-time scheduling policy is a fixed priority policy. The	sched‐
       uling  priority	of  a  real-time  process  never changes except as the
       result of an explicit request by the  user/application  to  change  the
       rtpri value of the process.

       For processes in the real-time class, the rtpri value is, for all prac‐
       tical purposes, equivalent to the scheduling priority of	 the  process.
       The  rtpri  value  completely  determines  the scheduling priority of a
       real-time process relative to other processes within its class. Numeri‐
       cally higher rtpri values represent higher priorities.  Since the real-
       time class controls the highest range of scheduling priorities  in  the
       system  it is guaranteed that   the runnable real-time process with the
       highest rtpri value is always selected to run before any other  process
       in the system.

       In  addition  to providing control over priority, priocntl provides for
       control over the length of the time quantum allotted  to	 processes  in
       the  real-time  class.  The  time  quantum  value specifies the maximum
       amount of time a process may run assuming that it does not complete  or
       enter  a	 resource  or  event wait state (sleep).  Note that if another
       process becomes runnable at a higher  priority  the  currently  running
       process may be	preempted before receiving its full time quantum.

       The command

       priocntl [-d] [-i idtype] [idlist]

       displays	 the real-time priority and time quantum (in millisecond reso‐
       lution) for each real-time process in the set specified by  idtype  and
       idlist.

       The valid class-specific options for setting real-time parameters are:

       -p  rtpri:  Set the real-time priority of the specified process or pro‐
       cesses to rtpri.

       -t tqntm [-r res]: Set the time quantum of  the	specified  process  or
       processes  to  tqntm.  You  may	optionally  specify  a	resolution  as
       explained below.

       Any combination of the -pand -t options may be used with priocntl -s or
       priocntl	 -efor	the  real-time	class. If an option is omitted and the
       process is currently real-time, the associated parameter is unaffected.
       If  an  option is omitted when changing the class of a process to real-
       time from some other class,  the	 associated  parameter	is  set	 to  a
       default	value.	The  default  value for rtpri is 0 and the default for
       time quantum is dependent on the value of rtpri.

       When using the -t tqntm option, you may optionally specify a resolution
       using  the  -r  res  option (If no resolution is specified, millisecond
       resolution is assumed). If res is specified,  it	 must  be  a  positive
       integer between 1 and 1,000,000,000 (inclusive) and the resolution used
       is the reciprocal of res in seconds. For example, specifying -t	10  -r
       100  would set the resolution to hundredths of a second and the result‐
       ing time quantum length would be 10/100 seconds (one tenth  of  a  sec‐
       ond).  Although very fine (nanosecond) resolution may be specified, the
       time quantum length is rounded up by the system to  the	next  integral
       multiple	  of the system clock's resolution. For example: if the finest
       resolution currently available is 10 milliseconds (1 ``tick'')  and  if
       the  -t	and  -r	 options are used to specify a time quantum of 34 mil‐
       liseconds, it is rounded up to 4 ticks (40 milliseconds).  Requests for
       time  quantums of zero or quantums greater than the implementation-spe‐
       cific maximum quantum (typically very large) results in an error.

       In order to change the class of a process to real-time (from any	 other
       class),	the user invoking priocntl command must have super-user privi‐
       leges. In order to change the rtpri value or time quantum  of  a	 real-
       time  process,  the user invoking priocntl command must be a super-user
       or he must currently be in the real-time	 class	(shell	running	 as  a
       real-time  process)  with  a  real or	effective user ID matching the
       real or effective user ID of the target process.

       The real-time priority  and  time  quantum  are	inherited  across  the
       fork(2) and exec(2) system calls.

       Examples:

       The command

       priocntl [-s[-c]RT [-t] 1[-r] 10 -i idtype] [idlist]

       sets  the  class	 of any non-real-time processes selected by idtype and
       idlist to real-time and sets their real-time priority  to  the  default
       value  of 0. The real-time priorities of any processes currently in the
       real-time class are unaffected. The time quantums of all of the	speci‐
       fied processes are  set to 1/10 seconds.

       The command

       priocntl [-e[-c]RT [-p] 15[-t] 20]

       executes command in the real-time class with a real-time priority of 15
       and a time quantum of 20 milliseconds.

       POSIX ROUND-ROBIN CLASS

       The posix round-robin  class  provides  scheduling  where  each	member
       process runs with a fixed system wide time slice. The posix round-robin
       class  can be manipulated as described under REAL-TIME CLASS  with  the
       exception that the -t and -r flags are not supported.

       POSIX FIFO CLASS

       The  posix  fifo class provides scheduling where each member process is
       given an infinite time slice. Each process scheduled by the posix  fifo
       class  runs  to completion before the next process in the queue gets to
       run. The posix fifo class can be manipulated as described  under	 REAL-
       TIME  CLASS  with  the  exception that the -t and -r flags are not sup‐
       ported. Since all posix fifo processes have infinite time  slices,  the
       time quantum is not displayed when using the -d option.

       TIME-SHARING CLASS

       The  time-sharing  scheduling  policy provides for a fair and effective
       allocation of the CPU resource among processes with  varying  CPU  con‐
       sumption characteristics. The objectives of the time-sharing policy are
       to provide  good	 response  time	 to  interactive  processes  and  good
       throughput  to CPU bound jobs while providing a degree of user/applica‐
       tion control over scheduling.

       The time-sharing class  has  a  range  of  time-sharing	user  priority
       (tsupri) values that may be assigned to processes within the class.User
       priorities range from -x to +x, where the value of x  is	 configurable.
       The  range  for	a  specific installation can be displayed by using the
       command priocntl-l

       The purpose  of	the  user  priority  is	 to  provide  some  degree  of
       user/application	 control over the scheduling of processes in the time-
       sharing class. Raising or lowering the tsupri value of a process in the
       time-sharing  class  raises  or	lowers	the scheduling priority of the
       process. It is not guaranteed, however,	that  a	 time-sharing  process
       with  a	higher	tsupri	value  will run before one with a lower tsupri
       value. This is because the tsupri value is  just	 one  factor  used  to
       determine the scheduling priority of a time-sharing process. The system
       may dynamically adjust the internal scheduling priority of a time-shar‐
       ing process based on other factors such as recent CPU usage.

       In  addition to the system-wide limits on user priority (displayed with
       priocntl-l), there is a per process user	 priority  limit  (tsuprilim),
       which  specifies	 the  maximum tsupri value that may be set for a given
       process.

       The command

       priocntl [-d] [-i idtype] [idlist]

       displays the user priority and user priority limit for each  time-shar‐
       ing process in the set specified by idtype and idlist.

       The  valid  class-specific  options for setting time-sharing parameters
       are:

       -m tsuprilim: Set the user priority limit of the specified  process  or
       processes to tsuprilim.

       -p tsupri: Set the user priority limit of the specified process or pro‐
       cesses to tsupri

       Any time-sharing process may  lower  its	 own  tsuprilim	 (or  that  of
       another	process	 with  the same user ID).  Only a time-sharing process
       with super-user privilege may raise  a  tsuprilim.  When	 changing  the
       class  of  a  process to time-sharing from some other class, super-user
       privilege is required in order to set the initial tsuprilim to a	 value
       greater than zero.

       Any  time-sharing  process  may	set its own tsupri (or that of another
       process with the same user ID) to any value less than or equal  to  the
       process's  tsuprilim.  Attempts	to  set the tsupri above the tsuprilim
       (and/or set the tsuprilim below the tsupri) result in the tsupri	 being
       set equal to the tsuprilim.

       Any  combination of the -mand -p options may be used with priocntl-s or
       priocntl-e for the time-sharing class. If an option is omitted and  the
       process is currently time-sharing, the associated parameter is normally
       unaffected. An exception is when the -p option is  omitted  and	-m  is
       used  to	 set  a	 tsuprilim below the current tsupri. In this case, the
       tsupri is set equal to the tsuprilim which is being set. If  an	option
       is  omitted   when changing the class of a process to time-sharing from
       some other class, the associated parameter is set to a  default	value.
       The  default  value for tsuprilim is 0 and the default for tsupri is to
       set it equal to the tsuprilim value which is being set. The  time-shar‐
       ing  user  priority  and	 user  priority limit are inherited across the
       fork(2) and exec(2) system calls.

       Examples:

       The command

       priocntl [-s[-c]TS -i idtype] [idlist]

       sets the class of any non-time-sharing processes selected by idtype and
       idlist to time-sharing and sets both their user priority limit and user
       priority to 0. Processes already in the time-sharing  class  are	 unaf‐
       fected.

       priocntl [-e[-c]TS [-m] 0[-p] 15 command[arguments]]

       executes command with the arguments arguments in the time-sharing class
       with a user priority limit of 0 and a user priority of -15.

DIAGNOSTICS
       priocntl prints the following error messages:

       Process(es) not found: None of the processes exist.

       Specified processes from different classes: The -s option is being used
       to  set	parameters,  the  -c class option is not present and processes
       from more than one class are specified.

       Invalid option or argument: An unrecognized or invalid option or option
       argument is used.

SEE ALSO
       ps(1), nice(1), priocntl(2).

								    srchtxt(1)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Tru64

List of man pages available for Tru64

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net