25 tammikuun, 2022

The Geek Diary

the post selittää, miten ytimen semaforirajoja voidaan muuttaa CentOS / RHEL-palvelimessa.

ytimen parametrit semaforirajojen asettamiseksi

ytimen parametrit semaforirajojen asettamiseksi ovat:

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

Semaforirajojen muuttaminen

jos raja-arvoa on muutettava, on otettava huomioon, että(ryhmien enimmäismäärä)*(max semaforeja ryhmää kohti) >= (max semaforeja järjestelmän laajuisesti). Järjestelmän laajuisia semaforeja ei tarvitse olla useampia, jos niitä rajoittaa se, kuinka monta mahdollista ryhmää sitä kohden on enintään semaforit.

esimerkiksi:

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

tässä esimerkissä meidän on nostettava Max semaforeja per array raja 128: sta 192: een. Max semafores-järjestelmän laajuinen voidaan myös lisätä 48000 ( 250*192 = 48000 >= 32000) tai pidetään 32000: na. Tässä skenaariossa se pidetään 32000: ssa.

aseta ytimen parametri dynaamisesti eli ilman palvelimen uudelleenkäynnistystä.

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

jos kaikki on kunnossa järjestelmän odotetusti, muokkaa kernel parametri lisäämällä se / etc / sysctl.conf-tiedosto, jolla varmistetaan arvon säilyminen palvelimen uudelleenkäynnistyksen jälkeen.

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

jos haluat asettaa sen suoraan tiedostoon käyttämättä sysctl-w: tä, tiedosto on ladattava uudelleen:

# sysctl -p

voit tarkistaa tällä hetkellä asettamasi rajat:

# 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

Vastaa

Sähköpostiosoitettasi ei julkaista.