GNU/Linux >> Znalost Linux >  >> Cent OS

Jak změnit limity jaderného semaforu v CentOS/RHEL

Příspěvek vysvětluje, jak lze změnit limity semaforu jádra na serveru CentOS/RHEL.

Parametry jádra pro nastavení limitů semaforu

Parametry jádra pro nastavení limitů semaforu jsou:

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

Změna limitů semaforu

Pokud je třeba změnit limit, je třeba vzít v úvahu, že (maximální počet polí)*(maximální počet semaforů na pole)>=(maximální počet semaforů v celém systému) . Není třeba mít více semaforů v celém systému, pokud je omezeno množstvím možného počtu polí s maximálním počtem semaforů na to.

Například:

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

V tomto příkladu potřebujeme zvýšit maximální limit semaforů na pole ze 128 na 192. Maximální počet semaforů v celém systému lze také zvýšit na 48 000 ( 250*192 =48 000>=32 000) nebo ponechat na 32 000. V tomto scénáři je udržována na 32 000.

Chcete-li nastavit parametr jádra dynamicky, tj. bez nutnosti restartování serveru.

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

Pokud je se systémem vše v pořádku podle očekávání, upravte parametr jádra jeho přidáním do souboru /etc/sysctl.conf, abyste zajistili, že hodnota přetrvá i po restartu serveru.

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

Pokud se rozhodnete jej nastavit přímo v souboru bez použití sysctl -w, budete muset soubor znovu načíst:

# sysctl -p

Aktuálně nastavené limity můžete ověřit:

# 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

Semafor je jako počítadlo používané k řízení přístupu ke sdíleným zdrojům více procesů. Často se používá jako zamykací mechanismus, který zabraňuje procesům v přístupu k určitému zdroji, zatímco jiný proces na něm provádí operace. Hodnota semaforu může být inkrementována nebo dekrementována až do maxima nastaveného proměnnou SEMVMX, „semafor max value“.


Cent OS
  1. CentOS / RHEL 7:Jak změnit časové pásmo

  2. CentOS / RHEL :Jak změnit UUID souborového systému

  3. Jak změnit štítky souborového systému v CentOS/RHEL

  1. CentOS / RHEL 7 :Jak změnit ID počítače

  2. Jak změnit výchozí port Apache na RHEL/CentOS 7

  3. CentOS / RHEL 6 :Jak nakonfigurovat kdump

  1. Jak nastavit nebo změnit název hostitele v CentOS 7 / RHEL 7

  2. CentOS / RHEL 7 :Jak nakonfigurovat kdump

  3. CentOS / RHEL 5:Jak nakonfigurovat kdump