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

FreeBSD Manual Pages


home | help
RCTL(8)			  BSD System Manager's Manual		       RCTL(8)

     rctl -- display and update	resource limits	database

     rctl [-h] [-n] [filter]
     rctl -a [rule]
     rctl [-h] [-n] -l [filter]
     rctl -r [filter]
     rctl [-h] -u [filter]

     When called without options, the rctl command writes currently defined
     RCTL rules	to standard output.

     If	a filter argument is specified,	only rules matching the	filter are
     displayed.	 The options are as follows:

     -a	rule
	     Add rule to the RCTL database.

     -l	filter
	     Display rules applicable to the process defined by	filter.

     -r	filter
	     Remove rules matching filter from the RCTL	database.

     -u	filter
	     Display resource usage for	a subject (process, user, login	class
	     or	jail) matching the filter.

     -h	     "Human-readable" output.  Use unit	suffixes: Byte,	Kilobyte,
	     Megabyte, Gigabyte, Terabyte and Petabyte.

     -n	     Display user IDs numerically rather than converting them to a
	     user name.

     Syntax for	a rule is subject:subject-id:resource:action=amount/per.

     Subject defines the kind of entity	the rule applies to.  It can be	either
     process, user, login class, or jail.

     Subject ID	identifies the subject.	 It can	be user	name, numerical	user
     ID, login class name, or jail name.

     Resource identifies the resource the rule controls.

     Action defines what will happen when a process exceeds the	allowed

     Amount defines how	much of	the resource a process can use before the de-
     fined action triggers.

     The per field defines what	entity the amount gets accounted for.  For ex-
     ample, rule "loginclass:users:vmem:deny=100M/process" means that each
     process of	any user belonging to login class "users" may allocate up to
     100MB of virtual memory.  Rule "loginclass:users:vmem:deny=100M/user"
     would mean	that for each user belonging to	the login class	"users", the
     sum of virtual memory allocated by	all the	processes of that user will
     not exceed	100MB.	Rule "loginclass:users:vmem:deny=100M/loginclass"
     would mean	that the sum of	virtual	memory allocated by all	processes of
     all users belonging to that login class will not exceed 100MB.

     Valid rule	has all	those fields specified,	except for the per, which de-
     faults to the value of subject.

     A filter is a rule	for which one of more fields other than	per is left
     empty.  For example, a filter that	matches	every rule could be written as
     ":::=/", or, in short, ":".  A filter that	matches	all the	login classes
     would be "loginclass:".  A	filter that matches all	defined	rules for
     nproc resource would be "::nproc".

	cputime		   CPU time, in	seconds
	datasize	   data	size, in bytes
	stacksize	   stack size, in bytes
	coredumpsize	   core	dump size, in bytes
	memoryuse	   resident set	size, in bytes
	memorylocked	   locked memory, in bytes
	maxproc		   number of processes
	openfiles	   file	descriptor table size
	vmemoryuse	   address space limit,	in bytes
	pseudoterminals	   number of PTYs
	swapuse		   swap	usage, in bytes
	nthr		   number of threads
	msgqqueued	   number of queued SysV messages
	msgqsize	   SysV	message	queue size, in bytes
	nmsgq		   number of SysV message queues
	nsem		   number of SysV semaphores
	nsemop		   number of SysV semaphores modified in a single
			   semop(2) call
	nshm		   number of SysV shared memory	segments
	shmsize		   SysV	shared memory size, in bytes
	wallclock	   wallclock time, in seconds

	deny		   deny	the allocation;	not supported for cpu and
	log		   log a warning to the	console
	devctl		   send	notification to	devd(8)
	sig*		   e.g.	sigterm; send a	signal to the offending

     See signal(3) for a list of supported signals.

     Not all actions are supported for all resources.  Attempt to add rule
     with action not supported by a given resouce will result in error.

     Note that limiting	RSS may	kill the machine due to	thrashing.

     The rctl utility exits 0 on success, and >0 if an error occurs.

	   rctl	-a user:joe:vmemoryuse:deny=1g

     Prevent user "joe"	from allocating	more than 1GB of virtual memory.

	   rctl	-r:

     Remove all	RCTL rules.

	   rctl	-hu jail:www

     Display resource usage information	for jail named "www".

	   rctl	-l process:512

     Display all the rules applicable to process with PID 512.

     rctl.conf(5), jailstat(8),	userstat(8)

     The rctl command appeared in FreeBSD 9.0.

     The rctl command was written by Edward Tomasz Napierala

BSD				 July 14, 2011				   BSD


Want to link to this manual page? Use this URL:

home | help