GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So ändern Sie Kernel-Semaphor-Limits in CentOS/RHEL

Der Beitrag erklärt, wie Kernel-Semaphor-Limits in einem CentOS/RHEL-Server geändert werden können.

Kernel-Parameter zum Festlegen von Semaphor-Grenzen

Die Kernel-Parameter zum Setzen der Semaphor-Grenzen sind:

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

Semaphorgrenzen ändern

Wenn ein Limit geändert werden muss, sollte berücksichtigt werden, dass (max. Anzahl von Arrays)*(max. Semaphore pro Array)>=(max. Semaphore systemweit) . Keine Notwendigkeit, mehr Semaphore systemweit zu haben, wenn sie durch die Menge einer möglichen Anzahl von Arrays mit maximal Semaphoren pro Einheit begrenzt sind.

Zum Beispiel:

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

Für dieses Beispiel müssen wir die maximale Anzahl von Semaphoren pro Array von 128 auf 192 erhöhen. Die systemweite maximale Anzahl von Semaphoren kann auch auf 48000 erhöht werden (250*192 =48000>=32000) oder auf 32000 gehalten werden wird auf 32000 gehalten.

Kernel-Parameter dynamisch setzen, d. h. ohne dass ein Server-Neustart erforderlich ist.

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

Wenn alles wie erwartet mit dem System in Ordnung ist, ändern Sie die Kernelparameter, indem Sie sie zur Datei /etc/sysctl.conf hinzufügen, um sicherzustellen, dass der Wert nach dem Neustart des Servers erhalten bleibt.

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

Wenn Sie es direkt in der Datei festlegen möchten, ohne sysctl -w zu verwenden, müssen Sie die Datei neu laden:

# sysctl -p

Sie können die derzeit festgelegten Limits überprüfen, indem Sie:

# 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

Ein Semaphor ist wie ein Zähler, der verwendet wird, um den Zugriff auf gemeinsam genutzte Ressourcen durch mehrere Prozesse zu steuern. Es wird häufig als Sperrmechanismus verwendet, um zu verhindern, dass Prozesse auf eine bestimmte Ressource zugreifen, während ein anderer Prozess Operationen darauf ausführt. Der Semaphorwert kann bis zum Maximum erhöht oder verringert werden, das durch die Variable SEMVMX, „semaphore max value“, festgelegt wird.


Cent OS
  1. So ändern Sie die Zeitzone auf CentOS/RHEL 8/7/6

  2. CentOS / RHEL 7:So ändern Sie die Maschinen-ID

  3. CentOS / RHEL :So ändern Sie die UUID des Dateisystems

  4. So ändern Sie den Standardport von Apache unter RHEL/CentOS 7

  5. CentOS / RHEL 6 :So konfigurieren Sie kdump

So stellen/ändern Sie den Hostnamen in CentOS 8 / RHEL 8

So ändern Sie den Namen der Netzwerkschnittstelle in eth0 unter CentOS 8 / RHEL 8

So ändern Sie den aktuellen/Standard-Runlevel in CentOS 8 / RHEL 8

So ändern Sie die Zeitzone in CentOS 8 / RHEL 8

So ändern Sie den Hostnamen in CentOS/RHEL 8

So ändern Sie den Hostnamen in CentOS/RHEL 7