¿Que son los semáforos?
Los semáforos son mecanismos de comunicación inter-proceso que usa el sistema operativo para regular accesos a regiones criticas de código y recursos.
Al ser mecanismos que provee el kernel de Linux, para tunearlos es necesario modificar parámetros de kernel.
Uso del comando IPCS
Para ver como esta configurado actualmente el sistema y obtener una breve descripción de que es cada seteo podemos ejecutar el siguiente comando
[root@myserver ~]# ipcs -ls
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
Una forma muy útil para visualizar la utilización de los semáforos de un sistema es con el comando ipcs -su
[root@myserver~]# ipcs -su
------ Semaphore Status --------
used arrays = 50
allocated semaphores = 2570
Configuración
Los parámetros de kernel se configuran con el comando sysctl
[root@myserver~]# sysctl -a |grep sem
kernel.sem = 250 32000 32 128
Para ampliar o modificar los seteos actuales tenemos que editar el archivo de configuración /etc/sysctl.conf y establecer la siguiente linea (o reemplazar la existente)
kernel.sem = 250 256000 32 1024
Para que el sistema haga efectivo el cambio debemos correr
sysctl -p