unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

VLIMIT(3C)                                                          VLIMIT(3C)



NAME
       vlimit - control maximum system resource consumption

SYNOPSIS
       #include <&lt;sys/vlimit.h>&gt;

       vlimit(resource, value) int resource, value;

DESCRIPTION
       This facility is superseded by getrlimit(2).

       Limits  the consumption by the current process and each process it cre-
       ates to not individually exceed value on the  specified  resource.   If
       value  is  specified  as -1, then the current limit is returned and the
       limit is unchanged.  The resources  which  are  currently  controllable
       are:

       LIM_NORAISE         A pseudo-limit; if set non-zero then the limits may
                           not be raised.  Only the super-user may remove  the
                           noraise restriction.

       LIM_CPU             the  maximum  number  of  CPU-seconds to be used by
                           each process

       LIM_FSIZE           the largest single file which can be created

       LIM_DATA            the maximum growth of the data+stack  region  using
                           sbrk()  (see  brk(2)) beyond the end of the program
                           text

       LIM_STACK           the  maximum  size  of  the  automatically-extended
                           stack region

       LIM_CORE            the size of the largest core dump that will be cre-
                           ated.

       LIM_MAXRSS          a soft limit for the amount of physical memory  (in
                           bytes)  to  be  given to the program.  If memory is
                           tight, the system will prefer to take  memory  from
                           processes   which   are  exceeding  their  declared
                           LIM_MAXRSS.

       Because this information is stored in the per-process information  this
       system  call  must be executed directly by the shell if it is to affect
       all future processes created by the shell; limit  is  thus  a  built-in
       command to csh(1).

       The  system  refuses  to extend the data or stack space when the limits
       would be exceeded in the normal way; a break call  fails  if  the  data
       space  limit  is reached, or the process is killed when the stack limit
       is reached (since the stack cannot be extended, there is no way to send
       a signal!).

       A  file I/O operation which would create a file which is too large will
       cause a signal SIGXFSZ to be generated, this  normally  terminates  the
       process,  but  may  be  caught.  When the cpu time limit is exceeded, a
       signal SIGXCPU is sent to the offending process; to allow  it  time  to
       process  the signal it is given 5 seconds grace by raising the CPU time
       limit.

SEE ALSO
       csh(1), sh(1), brk(2)

BUGS
       If LIM_NORAISE is set, then no grace should be given when the CPU  time
       limit is exceeded.

       There  should  be  limit  and  unlimit  commands in sh(1) as well as in
       csh(1).



                                6 October 1987                      VLIMIT(3C)