Download   Online Shop   Red Hat Network
Home  |  Products  |  Shop  |  Services  |  Training  |  Support   
Red Hat Documentation: man pages: man2: Linux Programmer's Manual (2)

Manpage of GETRLIMIT

GETRLIMIT

Section: Linux Programmer's Manual (2)
Updated: 23 July 2025
Index  

NAME

getrlimit, getrusage, setrlimit - get/set resource limits and usage  

SYNOPSIS

#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>

int getrlimit (int resource, struct rlimit *rlim);
int getrusage (int who, struct rusage *usage);
int setrlimit (int resource, const struct rlimit *rlim);  

DESCRIPTION

getrlimit and setrlimit get and set resource limits respectively. resource should be one of:

RLIMIT_CPU     /* CPU time in seconds */

RLIMIT_FSIZE   /* Maximum filesize */

RLIMIT_DATA    /* max data size */

RLIMIT_STACK   /* max stack size */

RLIMIT_CORE    /* max core file size */

RLIMIT_RSS     /* max resident set size */

RLIMIT_NPROC   /* max number of processes */

RLIMIT_NOFILE  /* max number of open files */

RLIMIT_MEMLOCK /* max locked-in-memory address space*/

A resource may unlimited if you set the limit to RLIM_INFINITY. RLIMIT_OFILE is the BSD name for RLIMIT_NOFILE.

The rlimit structure is defined as follows :

struct rlimit
{
        int     rlim_cur;
        int     rlim_max;
};

getrusage returns the current resource usages, for a who of either RUSAGE_SELF or RUSAGE_CHILDREN.

struct rusage
{
        struct timeval ru_utime;        /* user time used */
        struct timeval ru_stime;        /* system time used */
        long    ru_maxrss;              /* maximum resident set size */
        long    ru_ixrss;               /* integral shared memory size */
        long    ru_idrss;               /* integral unshared data size */
        long    ru_isrss;               /* integral unshared stack size */
        long    ru_minflt;              /* page reclaims */
        long    ru_majflt;              /* page faults */
        long    ru_nswap;               /* swaps */
        long    ru_inblock;             /* block input operations */
        long    ru_oublock;             /* block output operations */
        long    ru_msgsnd;              /* messages sent */
        long    ru_msgrcv;              /* messages received */
        long    ru_nsignals;            /* signals received */
        long    ru_nvcsw;               /* voluntary context switches */
        long    ru_nivcsw;              /* involuntary context switches */
};
 

RETURN VALUE

On success, zero is returned. On error, -1 is returned, and errno is set appropriately.  

ERRORS

EFAULT
rlim or usage points outside the accessible address space.
EINVAL
getrlimit or setrlimit is called with a bad resource, or getrusage is called with a bad who.
EPERM
A non-superuser tries to use setrlimit() to increase the soft or hard limit above the current hard limit, or a superuser tries to increase RLIMIT_NOFILE above the current kernel maximum.
 

CONFORMING TO

SVr4, BSD 4.3  

SEE ALSO


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
CONFORMING TO
SEE ALSO

This document was created by using the manual pages.
Time: 11:56:07 GMT, March 24, 2025

 

 
 
Search for:  on    Powered by Google
Products & Services   :   Download   :   Support   :   Training   :   Partners & Programs
© 2000 Red Hat, Inc. All right reserved.       About Red Hat   :   Legal statement   :   Privacy statement   :   Y2K statement   :   Contact Red Hat