Comment définir la valeur ulimit en permanence

Comment définir la valeur ulimit en permanence

Dans Linux, Ulimit est un outil intégré pour gérer l'allocation des ressources aux niveaux global, de groupe et d'utilisateurs. Pour un système multi-utilisateurs comme Linux, une telle fonctionnalité est presque primordiale à avoir. Il peut empêcher la consommation de ressources système indésirables comme la RAM et la puissance du processeur.

Découvrez comment définir la valeur Ulimit en permanence sur Linux.

Valeur ulimit

Ulimit applique la limite prédéfinie de la quantité de ressources qu'un utilisateur peut utiliser. L'outil utilise un certain fichier de configuration comme noyau pour attribuer les valeurs ulimit. Pour un contrôle plus ajusté, il est préférable de modifier le fichier.

$ cat / etc / sécurité / limites.confli


Il existe deux types de limites qui peuvent être imposées: des limites douces et dures. Il vaut mieux expliquer ces types avec un exemple simple.

Disons qu'un administrateur système souhaite qu'un certain utilisateur oscille autour d'une certaine valeur. Ici, l'utilisateur peut dépasser la valeur si nécessaire mais pas difficile par elle. Dans ce cas, ce sera une limite douce. D'un autre côté, si l'administrateur veut imposer strictement la limite, alors ce sera une limite difficile.

Utilisation d'ulimit

Ulimit est un outil de ligne de commande. Voici la structure de base de la commande ulimit.

$ ulimit

Afficher toutes les limites

L'indicateur «-a» répertorie toutes les options et configurations pour un utilisateur particulier. Si aucun utilisateur n'est défini, il imprimera les limites de l'utilisateur actuel à la place.

$ ulimit -a
$ ulimit -a


Pour afficher les limites douces d'un utilisateur, utilisez le drapeau «-s».

$ ulimit -sa


Pour afficher les limites dures d'un utilisateur, utilisez le drapeau «-H».

$ ulimit -ha


Il est possible de voir les limites d'un certain processus. Les détails sont situés dans le fichier suivant. Notez qu'il s'agit d'un fichier unique pour chacun des processus qui s'exécutent actuellement. Échangez le champ PID avec le PID du processus cible.

$ cat / proc //limites

Limiter les paramètres

Pour changer l'ulimit, vous devez déclarer le type de limite que vous souhaitez définir. Voici une liste restreinte avec tous les paramètres disponibles que vous pouvez modifier. Presque tous définissent la valeur maximale de chacun des paramètres.

  • B: Taille du tampon à douille
  • C: taille des fichiers centraux créés
  • D: Taille du segment de données du processus
  • E: Priorité de planification (valeur «belle»)
  • F: nombre de fichiers créés par le shell
  • I: Nombre de signaux en attente
  • L: taille à verrouiller dans la mémoire
  • M: Taille de l'ensemble résident
  • n: nombre de descripteurs de fichiers ouverts
  • P: Taille du tampon de tuyau
  • Q: Nombre d'octets dans les files d'attente de messages POSIX
  • R: Priorité de planification en temps réel
  • S: taille de pile
  • T: temps de processeur (en quelques secondes)
  • T: Nombre de fils
  • U: Nombre de processus disponibles pour un utilisateur
  • V: quantité de mémoire virtuelle disponible pour traiter
  • X: nombre de verrous de fichiers

Changer la valeur ulimit temporairement

Il est possible de modifier temporairement la valeur de Ulimit pour un utilisateur particulier. Le changement restera efficace jusqu'à ce que l'utilisateur soit déconnecté, la session expire ou que le système redémarre. Ici, je vais montrer un exemple de la façon de définir le numéro de processus maximum pour un utilisateur.

Pour modifier le nombre de processus disponibles en 12345, exécutez la commande suivante. Cela imposera une limite difficile temporaire à l'utilisateur.

$ ulimit -u
$ ulimit -u 12345


Découvrez la limite dure pour vérifier.

$ ulimit -hu

Modifier la valeur ulimit en permanence

Comme mentionné précédemment, Ulimit utilise un fichier de configuration système qui détermine la valeur ulimit par défaut. En apportant des modifications à ce fichier, vous pouvez modifier définitivement la valeur ulimit pour tout utilisateur.

Ouvrez le fichier dans votre éditeur de texte préféré. Notez que le fichier doit être ouvert avec l'autorisation racine pour que les modifications soient enregistrées.

$ sudo vim / etc / sécurité / limites.confli


Ici, les entrées du fichier suivent la structure suivante.

$

Allons une ventilation rapide de chacun des champs.

  • Domaine: noms d'utilisateur, groupes, gammes de guidage, etc.
  • Type: Type de limite (doux / dur)
  • Article: La ressource qui sera limitée, par exemple, la taille du noyau, le NProc, la taille du fichier, etc.
  • Valeur: la valeur limite

Voici une liste restreinte de tous les articles disponibles.

  • Core: limite la taille du fichier de base (en kb)
  • CPU: temps de processeur (en min)
  • Données: Taille des données (en KB)
  • fsize: taille du fichier (en kb)
  • verrouillage: les verrous de fichiers peuvent contenir
  • Memlock: espace d'adressage verrouillé en mémoire (en kb)
  • NPROC: Nombre de processeurs
  • RTPIO: priorité en temps réel
  • SigPending: Nombre de signaux en attente

Pour une liste complète des articles disponibles, consultez la page de l'homme des limites.confli.

$ Homme Limites.confli


Par exemple, l'entrée suivante limiterait le nombre de cœurs de CPU que «Viktor» peut utiliser jusqu'à 2.

$ viktor hard nproc 2

Une fois modifié, enregistrez le fichier. Pour prendre les modifications en vigueur, les utilisateurs affectés doivent se déconnecter et redémarrer. Selon la façon dont il est implémenté, il peut également nécessiter que le système redémarre.

Dernières pensées

L'outil Ulimit offre un moyen puissant de gérer les ressources. C'est simple mais puissant dans ce qu'il fait. Quoi que vous fassiez, assurez-vous que la limite que vous êtes sur le point d'implémenter est entrée correctement. Si vous essayez ces choses pour la première fois, essayez d'abord de les tester dans une machine virtuelle.

Il y a plus dans la commande ulimit que ce que j'ai discuté ici. Si vous souhaitez en savoir plus, consultez la commande Linux Ulimit.

Happy Computing!