Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
RTPRIO(1)		FreeBSD	General	Commands Manual		     RTPRIO(1)

NAME
     rtprio, idprio -- execute,	examine	or modify a utility's or process's
     realtime or idletime scheduling priority

SYNOPSIS
     [id|rt]prio
     [id|rt]prio [-]pid
     [id|rt]prio priority command [args]
     [id|rt]prio priority -pid
     [id|rt]prio -t command [args]
     [id|rt]prio -t -pid

DESCRIPTION
     The rtprio	utility	is used	for controlling	realtime process scheduling.

     The idprio	utility	is used	for controlling	idletime process scheduling,
     and can be	called with the	same options as	rtprio.

     A process with a realtime priority	is not subject to priority degrada-
     tion, and will only be preempted by another process of equal or higher
     realtime priority.

     A process with an idle priority will run only when	no other process is
     runnable and then only if its idle	priority is equal or greater than all
     other runnable idle priority processes.

     Both rtprio or idprio when	called without arguments will return the real-
     time priority of the current process.

     If	rtprio is called with 1	argument, it will return the realtime priority
     of	the process with the specified pid.

     If	priority is specified, the process or program is run at	that realtime
     priority.	If -t is specified, the	process	or program is run as a normal
     (non-realtime) process.

     If	-pid is	specified, the process with the	process	identifier pid will be
     modified, else if command is specified, that program is run with its
     arguments.

     Priority is an integer between 0 and RTP_PRIO_MAX (usually	31).  0	is the
     highest priority

     Pid of 0 means "the current process".

     Only root is allowed to set realtime or idle priority for a process.  A
     user may modify the idle priority of their	own processes if the sysctl(8)
     variable security.bsd.unprivileged_idprio is set to non-zero.  Note that
     this increases the	chance that a deadlock can occur if a process locks a
     required resource and then	does not get to	run.

EXIT STATUS
     If	rtprio execute a command, the exit value is that of the	command	exe-
     cuted.  In	all other cases, rtprio	exits 0	on success, and	1 for all
     other errors.

EXAMPLES
     To	see which realtime priority the	current	process	is at:
	   rtprio

     To	see which realtime priority of process 1423:
	   rtprio 1423

     To	run cron(8) at the lowest realtime priority:
	   rtprio 31 cron

     To	change the realtime priority of	process	1423 to	16:
	   rtprio 16 -1423

     To	run tcpdump(1) without realtime	priority:
	   rtprio -t tcpdump

     To	change the realtime priority of	process	1423 to	RTP_PRIO_NORMAL	(non-
     realtime/normal priority):
	   rtprio -t -1423

     To	make depend while not disturbing other machine usage:
	   idprio 31 make depend

SEE ALSO
     nice(1), ps(1), rtprio(2),	setpriority(2),	nice(3), renice(8)

HISTORY
     The rtprio	utility	appeared in FreeBSD 2.0, but is	similar	to the HP-UX
     version.

AUTHORS
     Henrik Vestergaard	Draboel	<hvd@terry.ping.dk> is the original author.
     This implementation in FreeBSD was	substantially rewritten	by David
     Greenman.

CAVEATS
     You can lock yourself out of the system by	placing	a cpu-heavy process in
     a realtime	priority.

BUGS
     There is no way to	set/view the realtime priority of process 0 (swapper)
     (see ps(1)).

     There is in FreeBSD no way	to ensure that a process page is present in
     memory therefore the process may be stopped for pagein (see mprotect(2),
     madvise(2)).

     Under FreeBSD system calls	are currently never preempted, therefore non-
     realtime processes	can starve realtime processes, or idletime processes
     can starve	normal priority	processes.

FreeBSD	10.1		      September	29, 2012		  FreeBSD 10.1

NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS | CAVEATS | BUGS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=idprio&sektion=1&manpath=FreeBSD+9.2-RELEASE>

home | help