25 ledna, 2022

deník Geek

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

parametry jádra pro nastavení limitů semaforu

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

kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNISEMMSL - max semaphores per arraySEMMNS - max semaphores system wideSEMOPM - max ops per semop callSEMMNI - max number of arrays

Změna limitů semaforů

pokud je třeba změnit limit, je třeba vzít v úvahu, že (maximální počet polí)*(maximální semafory na pole) >= (maximální semafory 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ími semafory na něj.

například:

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

pro tento příklad musíme zvýšit maximální semafory na limit pole ze 128 na 192. Systém max semaforů může být také zvýšen na 48000 ( 250*192 = 48000 >= 32000) nebo jako 32000. V tomto scénáři se udržuje na 32000.

pro dynamické nastavení parametru jádra, tj. bez nutnosti restartu serveru.

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

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

# cat /etc/sysctl.conf | grep kernel.semkernel.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 pomocí:

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.