Riavvio di apache fallito
Può capitare, specialmente su server con un alto traffico, che il riavvio del web server fallisca con un errore del tipo:
failed: No space left on device
Se lo spazio non è realmente terminato, il problema è sicuramente legato ai semafori di apache.
Con il seguente comando potete verificare se sono rimasti attivi alcuni semafori :
ipcs -s
—— Semaphore Arrays ——–
key semid owner perms nsems
0×00000000 1835008 www-data 600 1
0×00000000 1867777 www-data 600 1
0×00000000 1900546 www-data 600 1
0×00000000 1933315 www-data 600 1
A questo punto potete cancellare i semafori rimasti attivi con il comando:
for i in `ipcs -s | awk ‘/www-data/ {print $2}’`; do (ipcrm -s $i); done
Nel caso volessimo aumentare le capacità del nostro webserver:
vi /etc/sysctl.conf
aggiungere le seguenti variabili:
kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024
per far caricare le impostazioni al kernel direttamente:
sysctl -p
Per vedere se il kernel ha preso le nuove impostazioni:
ipcs -l
—— Shared Memory Limits ——–
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1—— Semaphore Limits ——–
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767—— Messages: Limits ——–
max queues system wide = 1024
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
Per approfondimenti:


