január 25, 2022

a Geek Diary

a post elmagyarázza, hogyan kernel szemafor határértékeket lehet változtatni a CentOS/RHEL szerver.

a szemafor határértékek beállításához szükséges Kernel paraméterek

a szemafor határértékek beállításához szükséges kernel paraméterek a következők:

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

szemafor határértékek módosítása

ha egy határértéket meg kell változtatni, akkor figyelembe kell venni, hogy (tömbök maximális száma)*(tömbök maximális szemaforjai) >= (Max szemaforok rendszerszinten). Nem kell, hogy több szemaforok rendszerszintű, ha korlátozza az összeg a lehetséges számú tömbök max szemaforok per.

például:

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

ebben a példában 128-ról 192-re kell növelnünk a maximális szemaforokat tömbönként. A Max szemaforok rendszerszintű is növelhető 48000 ( 250*192 = 48000 >= 32000) vagy tartani, mint 32000. Ebben a forgatókönyvben 32000-en tartják.

a kernel paraméter dinamikus beállítása, azaz a kiszolgáló újraindítása nélkül.

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

ha minden rendben van a rendszerrel a várt módon, módosítsa a kernel paramétert az /etc/sysctl fájlba.conf Fájl annak biztosítására, hogy az érték megmaradjon a kiszolgáló újraindítása után.

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

ha úgy dönt, hogy közvetlenül a fájlban állítja be a sysctl-w használata nélkül, akkor újra kell töltenie a fájlt:

# sysctl -p

ellenőrizheti a jelenleg beállított korlátokat:

# 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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.