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

Comment modifier les limites du sémaphore du noyau dans CentOS/RHEL

Le message explique comment les limites de sémaphore du noyau peuvent être modifiées dans un serveur CentOS/RHEL.

Paramètres du noyau pour définir les limites de sémaphore

Les paramètres du noyau pour définir les limites des sémaphores sont :

kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL - max semaphores per array
SEMMNS - max semaphores system wide
SEMOPM - max ops per semop call
SEMMNI - max number of arrays

Modification des limites de sémaphore

Si une limite doit être modifiée, il convient de tenir compte du fait que (nombre max de tableaux)*(max sémaphores par tableau)>=(max sémaphores à l'échelle du système) . Pas besoin d'avoir plus de sémaphores à l'échelle du système s'il est limité par la quantité d'un nombre possible de tableaux avec un maximum de sémaphores.

Par exemple :

# sysctl -a| grep kernel.sem
kernel.sem = 250 32000 32 128

Pour cet exemple, nous devons augmenter le nombre maximal de sémaphores par limite de tableau de 128 à 192. Le nombre maximal de sémaphores à l'échelle du système peut également être augmenté à 48 000 ( 250*192 =48 000>=32 000) ou conservé à 32 000. Dans ce scénario, il est maintenu à 32000.

Pour définir les paramètres du noyau de manière dynamique, c'est-à-dire sans avoir besoin de redémarrer le serveur.

# sysctl -w kernel.sem="250 32000 32 192"
kernel.sem = 250 32000 32 192

Si tout va bien avec le système comme prévu, modifiez le paramètre du noyau en l'ajoutant au fichier /etc/sysctl.conf pour garantir que la valeur persiste après le redémarrage du serveur.

# cat /etc/sysctl.conf | grep kernel.sem
kernel.sem = 250 32000 32 192

Si vous choisissez de le définir directement dans le fichier sans utiliser le sysctl -w, vous devrez recharger le fichier :

# sysctl -p

Vous pouvez vérifier les limites actuellement définies par :

# ipcs -ls
------ Semaphore Limits --------
max number of arrays = 192
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767

Un sémaphore est comme un compteur utilisé pour contrôler l'accès aux ressources partagées par plusieurs processus. Il est souvent utilisé comme mécanisme de verrouillage pour empêcher les processus d'accéder à une ressource particulière pendant qu'un autre processus y exécute des opérations. La valeur du sémaphore peut être incrémentée ou décrémentée jusqu'au maximum défini par la variable SEMVMX, "semaphore max value".


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

  2. Comment changer le fuseau horaire sur CentOS/RHEL 8/7/6

  3. CentOS / RHEL 7 :Comment changer de fuseau horaire

  4. Comment changer le port par défaut d'Apache sur RHEL/CentOS 7

  5. CentOS / RHEL 6 :Comment configurer kdump

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

Comment changer le nom de l'interface réseau en eth0 sur CentOS 8 / RHEL 8

Comment changer le niveau d'exécution actuel/par défaut dans CentOS 8 / RHEL 8

Comment changer le fuseau horaire dans CentOS 8 / RHEL 8

Comment changer le nom d'hôte dans CentOS/RHEL 8

Comment changer le nom d'hôte dans CentOS/RHEL 7