Les systèmes d'exploitation UNIX/Linux ont la capacité de limiter la quantité de diverses ressources système disponibles pour un processus utilisateur. Ces limitations incluent le nombre de fichiers qu'un processus peut ouvrir, la taille d'un fichier que l'utilisateur peut créer et la quantité de mémoire pouvant être utilisée par les différents composants du processus, tels que la pile, les données et les segments de texte. ulimite est la commande utilisée pour accomplir cela.
Pour définir la valeur ulimit sur un paramètre, utilisez la commande ci-dessous.
# ulimit -p [new_value]
Pour que les ulimits persistent lors des redémarrages, nous devons définir les valeurs ulimit dans le fichier de configuration /etc/security/limits.conf . Les paramètres dans /etc/security/limits.conf prennent la forme suivante :
# vi /etc/security/limits.conf #[domain] [type] [item] [value] * - core [value] * - data [value] * - priority [value] * - fsize [value] * soft sigpending [value] eg:57344 * hard sigpending [value] eg:57444 * - memlock [value] * - nofile [value] eg:1024 * - msgqueue [value] eg:819200 * - locks [value] * soft core [value] * hard nofile [value] @[group] hard nproc [value] [user] soft nproc [value] %[group] hard nproc [value] [user] hard nproc [value] @[group] - maxlogins [value] [user] hard cpu [value] [user] soft cpu [value] [user] hard locks [value]
[domaine] peut être :
- un nom d'utilisateur
- un nom de groupe, avec la syntaxe @group
- le caractère générique * , pour l'entrée par défaut
- le caractère générique % , peut également être utilisé avec la syntaxe %group, pour la limite maxlogin
[type] peut avoir les deux valeurs :
- "doux ” pour appliquer les limites souples
- "dur ” pour appliquer des limites strictes
[élément] peut être l'un des éléments suivants :
- noyau – limite la taille du fichier principal (Ko)
- données – taille maximale des données (Ko)
- taille – taille de fichier maximale (Ko)
- memlock - espace d'adressage maximal en mémoire verrouillée (Ko)
- aucun fichier – nombre maximum de fichiers ouverts
- rss - taille maximale de l'ensemble résident (Ko)
- pile – taille maximale de la pile (Ko)
- processeur – temps CPU maximum (MIN)
- nproc – nombre maximum de processus
- comme – limite d'espace d'adressage (Ko)
- maxlogins – nombre maximum de connexions pour cet utilisateur
- maxsyslogins – nombre maximum de connexions sur le système
- priorité – la priorité d'exécution du processus utilisateur avec
- verrouille – nombre maximum de verrous de fichiers que l'utilisateur peut détenir
- signe en attente – nombre maximum de signaux en attente
- msgqueue – mémoire maximale utilisée par les files d'attente de messages POSIX (octets)
- sympa – priorité max nice autorisée à monter à des valeurs :[-20, 19]
- prior – priorité maximale en temps réel
Plus de détails peuvent être trouvés à partir de la commande ci-dessous :
# man limits.conf