GETRLIMIT(2) Manuel du programmeur Linux GETRLIMIT(2)
NOM
getrlimit, getrusage, setrlimit - Lire / écrire les lim
ites d'utilisation des ressources systèmes.
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 et setrlimit lisent ou écrivent les limites des
ressources systèmes. resource doit être l'un des éléments
suivants :
RLIMIT_CPU /* Temps CPU en secondes */
RLIMIT_FSIZE /* Taille maximale d'un fichier */
RLIMIT_DATA /* Taille maximale zone de données */
RLIMIT_STACK /* Taille maximale de la pile */
RLIMIT_CORE /* Taille maximale fichier core */
RLIMIT_RSS /* Taille résidente maximale */
RLIMIT_NPROC /* Nombre maximal de processus */
RLIMIT_NOFILE /* Nombre maximal fichiers ouverts */
L'élément suivant n'est pas implémenté sous Linux 1.2.13:
RLIMIT_MEMLOCK /* Verrouillage maximal en mémoire */
Une ressource peut être illimitée si l'on précise
RLIM_INFINITY. RLIMIT_OFILE est le nom "BSD" pour
RLIMIT_NOFILE.
La structure rlimit est définie comme suit :
struct rlimit
{
int rlim_cur;
int rlim_max;
};
getrusage renvoie l'utilisation courante des ressources,
pour who correspondant à RUSAGE_SELF ou RUSAGE_CHILDREN.
struct rusage
{
struct timeval ru_utime; /* Temps utilisateur écoulé */
struct timeval ru_stime; /* Temps système écoulé */
long ru_maxrss; /* Taille résidente maximale */
long ru_ixrss; /* Taille de mémoire partagée */
long ru_idrss; /* Taille des données non partagées */
long ru_isrss; /* Taille de pile */
Linux 9 Avril 1999 1
GETRLIMIT(2) Manuel du programmeur Linux GETRLIMIT(2)
long ru_minflt; /* Demandes de pages */
long ru_majflt; /* Nombre de fautes de pages */
long ru_nswap; /* Nombre de swaps */
long ru_inblock; /* Nombre de lectures de blocs */
long ru_oublock; /* Nombre d'écritures de blocs */
long ru_msgsnd; /* Nombre de messages émis */
long ru_msgrcv; /* Nombre de messages reçus */
long ru_nsignals; /* Nombre de signaux reçus */
long ru_nvcsw; /* Chgmnts de contexte volontaires */
long ru_nivcsw; /* Chgmnts de contexte involontaires*/
};
VALEUR RENVOYÉE
Ces fonctions renvoient 0 si elles réussissent, ou -1 si
elles échouent, auquel cas errno contient le code
d'erreur.
ERREURS
EFAULT rlim ou usage pointent en dehors de l'espace
d'adressage disponible.
EINVAL getrlimit ou setrlimit est appelé avec un mauvais
argument resource, ou getrusage est appelé avec un
mauvais argument who.
EPERM Tentative d'utiliser setrlimit() sans être
Super-User pour augmenter ses limites, ou alors le
Super-User essaye d'augmenter les limites au-dessus
des maxima du noyau.
CONFORMITÉ
SVr4, BSD 4.3
VOIR AUSSI
ulimit(2), quotactl(2)
TRADUCTION
Christophe Blaess, 1997.
Linux 9 Avril 1999 2