Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

GNU/Linux

CentOS 2.1AS

(Slurm)

getrlimit(2)


GETRLIMIT

GETRLIMIT

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
CONFORMING TO
NOTE
SEE ALSO

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*/

RLIMIT_AS

/* address space (virtual memory) limit */

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 {

rlim_t

rlim_cur;

rlim_t

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

NOTE

Including <sys/time.h> is not required these days, but increases portability. (Indeed, struct timeval is defined in <sys/time.h>.)

The above struct was taken from BSD 4.3 Reno. Not all fields are meaningful under Linux. Right now (Linux 2.4) only the fields ru_utime, ru_stime, ru_minflt, ru_majflt, and ru_nswap are maintained.

SEE ALSO

quotactl(2), ulimit(3)



getrlimit(2)