GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment définir les valeurs nproc (Hard et Soft) dans CentOS / RHEL 5,6,7

Cet article explique comment un administrateur système Linux peut limiter le nombre autorisé de processus pour chaque utilisateur du système d'exploitation. Il y a deux endroits où le nombre maximum de processus autorisés (nproc ) peut être configuré.

  • /etc/security/limits.conf
  • /etc/security/limits.d/90-nproc.conf ( CentOS/RHEL 5,6 ) et /etc/security/limits.d/20-nproc.conf ( CentOS/RHEL 7 )

à partir de la page de manuel de pam_limits

Par défaut, les limites sont tirées de /etc/security/limits.conf fichier de configuration. Ensuite, les fichiers *.conf individuels de /etc/security/limits.d/ répertoire sont lus. Les fichiers sont analysés les uns après les autres dans l'ordre des paramètres régionaux "C". L'effet des fichiers individuels est le même que si tous les fichiers étaient concaténés dans l'ordre d'analyse. Si un fichier de configuration est explicitement spécifié avec une option de module, les fichiers du répertoire ci-dessus ne sont pas analysés.

Affichage des limites logicielles/matérielles actuelles de nproc

Le système Red Hat Enterprise Linux utilise deux types de valeurs pour définir les limites :soft et dur . La différence est que la limite "soft" peut être ajustée jusqu'à la limite "hard" tandis que la limite "hard" ne peut être que réduite et c'est la limite maximale de ressources qu'un utilisateur peut avoir.

Chaque fois qu'un utilisateur exécute une commande "ulimit -n", la limite "soft" lui sera présentée. Par conséquent, si le fichier « /etc/security/limits.conf » a une valeur fixe définie, il ne sera pas présenté par défaut.

– Pour afficher les limites souples, utilisez la commande ci-dessous :

# ulimit -u -S

– De même, pour afficher les limites strictes, utilisez la commande ci-dessous :

# ulimit -u -H

Comment définir les limites nproc (hard et soft)

1. Définition temporaire de limites logicielles nproc
La limite « douce » peut être ajustée sur la limite « dure » avec ce qui suit où N est inférieur ou égal à la limite « dure ».

# ulimit -n N

Par exemple :

# ulimit -n 1024

La valeur ci-dessus n'est pas permanente et ne persistera pas lors des reconnexions. Vous pouvez saisir la commande ci-dessus dans le profil bash des utilisateurs afin que la limite soit définie à chaque fois que l'utilisateur se connecte.

# vim ~/.bash_profile
ulimit -n 1024

2. Définition permanente des limites dures/douces de nproc
– Pour définir la limite nproc sur illimitée à l'échelle du système, le fichier /etc/security/limits.d/90-nproc.conf (RHEL5, RHEL6), /etc/security/limits.d/20-nproc. conf (RHEL7) doit lire. Par défaut, les règles sont lues à partir du fichier /etc/security/limits.conf.
– De plus, vous pouvez créer des fichiers de configuration individuels dans le répertoire /etc/security/limits.d spécifiquement pour certaines applications ou certains services.
– Une limite par défaut des processus utilisateur est définie dans le fichier /etc/security/limits.d/90-nproc.conf (RHEL5, RHEL6), /etc/security/limits.d/20-nproc.conf (RHEL7), pour empêcher les attaques par déni de service malveillantes, telles que les fourches bombes.

Pour définir une limite dure/douce de nproc, utilisez la syntaxe ci-dessous.

# vi /etc/security/limits.conf
[domain] [type] [item] [value]

Ici,
[domaine] peut être un nom d'utilisateur, un nom de groupe ou une entrée générique.
[type] indique le type de la limite et peut avoir les valeurs suivantes :

  • doux  :Il s'agit d'une limite souple qui peut être modifiée par l'utilisateur
  • difficile  :Il s'agit d'un plafond sur la limite souple défini par le super utilisateur et appliqué par le noyau

[élément] est la ressource pour laquelle définir la limite.

Exemples de définition de limites nproc

Vous trouverez ci-dessous quelques exemples de définition de valeurs nproc à l'aide des fichiers /etc/security/limits.conf et /etc/security/limits.d/90-nproc.conf (RHEL5, RHEL6), /etc/security/limits. d/20-nproc.conf (RHEL7):

1. Dans l'exemple ci-dessous, la limite nproc est définie sur 2047 car il existe une limite stricte de 2047 dans limits.conf.

# cat /etc/security/limits.conf | grep nproc | grep -v ^#
test hard nproc 2047
test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^#
* soft nproc 1024
root soft nproc unlimited
test soft nproc 10023
# ulimit -u
2047

2. Ici, 1022 est utilisé car la dernière entrée est "test soft nproc 1022", la limite stricte maximale serait "1025".

# cat /etc/security/limits.conf | grep nproc | grep -v ^#
test hard nproc 2048
test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^#
* soft nproc 1024
* hard nproc 1025
root soft nproc unlimited
test hard nproc 1025
test soft nproc 1022
# ulimit -u
1022

3. Ici, 1025 est utilisé car "test hard nproc 1025" est défini, "test soft nproc 1066" est utilisé car la limite logicielle dépasse la limite stricte.

# cat /etc/security/limits.conf | grep nproc | grep -v ^#
test hard nproc 1001
test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^#
* soft nproc 1024
* hard nproc 1025
root soft nproc unlimited
test hard nproc 1025
test soft nproc 1066
# ulimit -u
1025

4. Ici, 1066 est utilisé car la dernière entrée est "test soft nproc 1066" et 1066 ne dépasse pas la limite stricte.

# cat /etc/security/limits.conf | grep nproc | grep -v ^#
test hard nproc 1001
test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^#
* soft nproc 1024
* hard nproc 1025
root soft nproc unlimited
test hard nproc 1100
test soft nproc 1066
# ulimit -u
1066
Comprendre le fichier /etc/security/limits.conf


Cent OS
  1. Comment définir ou modifier le nom d'hôte dans CentOS 7 / RHEL 7

  2. Comment installer Python 3.5 sur CentOS/RHEL et Fedora

  3. CentOS / RHEL 7 :Comment installer et configurer telnet

  4. Comment activer FTP dans CentOS/RHEL 5 et 6

  5. Comment extraire des fichiers RAR dans CentOS/RHEL 7 et 8

Comment définir/modifier le nom d'hôte dans CentOS 8 / RHEL 8

Comment installer et utiliser Firewalld dans CentOS / RHEL

Comment installer Samba sur RHEL et CentOS Stream

Comment installer et configurer Jenkins sur CentOS 8 / RHEL 8

Comment installer et configurer Smartctl sur CentOS/RHEL 8 et Ubuntu 20.04

Comment installer Wine 5.0 sur CentOS, RHEL et Fedora