Recherche de site Web

Comment définir des limites pour les processus en cours d'exécution par les utilisateurs sous Linux


L’une des beautés de Linux est que vous pouvez presque tout contrôler. Cela donne à un administrateur système un grand contrôle sur son système et une meilleure utilisation des ressources système.

Même si certains n'ont peut-être jamais pensé à cela, il est important de savoir que sous Linux, vous pouvez limiter la quantité de ressources qu'un seul utilisateur peut utiliser et pendant combien de temps.

Lire aussi : Comment augmenter la limite du nombre de fichiers ouverts sous Linux

Dans ce court sujet, nous allons vous montrer comment limiter le nombre de processus démarrés par l'utilisateur et comment vérifier les limites actuelles et les modifier.

Avant d’aller plus loin, il y a deux choses que nous devons souligner :

  1. Vous avez besoin d'un accès root à votre système pour modifier les limites d'utilisateurs
  2. Vous devez être extrêmement prudent si vous envisagez de modifier ces limites

Pour configurer les limites d'utilisateurs, nous devrons éditer le fichier suivant :


/etc/security/limits.conf

Ce fichier est utilisé pour appliquer ulimit créé par le pam_module.

Le fichier a la syntaxe suivante :

<domain> <type> <item> <value>

Ici, nous nous arrêterons pour discuter de chacune des options :

  • Domaine – cela inclut les noms d'utilisateur, les groupes, les plages de guid, etc.
  • Type – limites souples et strictes
  • Élément : élément qui sera limité : taille du noyau, taille du fichier, nproc, etc.
  • Valeur – c'est la valeur pour la limite donnée

Un bon exemple de limite est :

@student          hard           nproc                20

La ligne ci-dessus fixe une limite stricte de 20 processus maximum pour le groupe "étudiant".

Si vous souhaitez connaître les limites d'un certain processus, vous pouvez simplement "catalyser" le fichier de limites comme ceci :


cat /proc/PID/limits

PID est l'ID de processus réel, vous pouvez trouver l'ID de processus à l'aide de la commande ps. Pour une explication plus détaillée, lisez notre article qui dit - Rechercher les processus Linux en cours d'exécution et définir les limites de processus par niveau d'utilisateur

Voici donc un exemple :


cat /proc/2497/limits
Exemple de sortie

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

Toutes les lignes sont assez explicites. Cependant, si vous souhaitez en savoir plus sur les paramètres que vous pouvez saisir dans le fichier limits.conf, vous pouvez consulter le manuel fourni ici.

Si vous avez des questions ou des commentaires, n'hésitez pas à les soumettre dans la section commentaires ci-dessous.