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.