Service de noyau kgetrlimit64

Objectif

Contrôle la consommation maximale des ressources système.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <sys/time.h>
#include <sys/resource.h>
void kgetrlimit64 (Resource1, RLP)
int Resource1;
struct rlimit64 *RLP;

Paramètres

Article Descriptif
Resource1 Le paramètre Resource1 peut être l'une des valeurs suivantes:
RLIMITE_AS
Taille maximale, en octets, de la mémoire totale disponible d'un processus. Cette limite est appliquée par le noyau uniquement si la variable d'environnement XPG_SUS_ENV = SUR est définie dans l'environnement de l'utilisateur avant l'exécution du processus. Si la variable d'environnement _ENV. XPG_SUS_ENV n'est pas définie dans l'environnement de l'utilisateur, la limite n'est pas appliquée.
RLIMITE_CORE
Taille la plus grande, en octets, d'un fichier core qui peut être créé. Cette limite est appliquée par le noyau. Si la valeur de la limite TAILLE RLIMIT_FSIZE est inférieure à la valeur de la limite RLIMITE_CORE , le système utilise la valeur limite TAILLE RLIMIT_FSIZE comme limite souple.
CPU R_LIMITE_R
Quantité maximale de temps d'unité centrale (UC), en secondes, à utiliser par chaque processus. Si un processus dépasse sa limite d'UC, le noyau envoie un signal SIGXCPU au processus. Une fois la limite maximale atteinte, le processus est tué avec SIGXCPU, même s'il gère, bloque ou ignore ce signal.
DONNÉES_RLIMITÉ
Taille maximale, en octets, de la région de données pour un processus. Cette limite définit jusqu'à quel point un programme peut étendre sa valeur de rupture avec le sous-programme Sbrk . Cette limite est appliquée par le noyau.
TAILLE RLIMIT_FSIZE
Taille maximale, en octets, de tout fichier pouvant être créé. Lorsqu'un processus tente d'écrire, de tronquer ou de délire au-delà de sa limite TAILLE RLIMIT_FSIZE molle, l'opération échoue avec la variable Errno définie sur EFBIG. Si la variable d'environnement XPG_SUS_ENV = SUR est définie dans l'environnement de l'utilisateur avant l'émission du processus, le signal SIGXFSZ est également généré.
RLIMIT_NOFILE
Il s'agit d'un nombre supérieur à la valeur maximale que le système peut affecter à un descripteur nouvellement créé.
EMPILER LA PILE
Taille maximale, en octets, de la région de pile pour un processus. Cette limite définit jusqu'à quel point une région de pile de programmes peut être étendue. Le système effectue automatiquement une extension de pile. Cette limite est appliquée par le noyau. Lorsque la limite de pile est atteinte, le processus reçoit un signal SIGSEGV . Si ce signal n'est pas pris par un gestionnaire utilisant la pile de signaux, le signal termine le processus.
RLIMIT_RSS
Taille maximale, en octets, de la taille de l'ensemble résident d'un processus. Cette limite n'est pas appliquée par le noyau. Un processus peut dépasser sa taille de limite souple sans être arrêté.
RLP Pointe vers la structure rlimit64 où les limites requises sont renvoyées par le service de noyau kgetrlimit64 .

Descriptif

Le service de noyau kgetrlimit64 renvoie les valeurs limites des ressources système utilisées par le processus en cours et ses processus enfants.

Remarque: Les valeurs initiales renvoyées par le service de noyau kgetrlimit64 sont les valeurs ulimit en vigueur lors du démarrage du processus. Pour les programmes maxdata, la limite logicielle initiale pour les données est définie à la valeur inférieure de la valeur ulimit de données ou à une valeur correspondant au nombre de segments de données réservés pour les segments de données.

La structure rlimit64 spécifie les limites matérielles et logicielles d'une ressource, comme défini dans le fichier sys/resource.h . La valeur RLIM64_INFINITY définit une valeur infinie pour une limite.

Environnement d'exécution

Le service de noyau kgetrlimit64 peut être appelé à partir de l'environnement Processus ou Interruption .

Valeurs renvoyées

Le service de noyau kgetrlimit64 n'a pas de valeur de retour.