Mrtvé semafory na serveru

Mirek

Mrtvé semafory na serveru
« kdy: 13. 11. 2013, 16:21:25 »
Zdravím,

mám na serveru nepříjemný problém. Vznikají mi, po nějaké době (uptime serveru je skoro rok), "mrtvé"  semafory. Téměř určitě je má na svědomí Apache | PHP | Mono. Problém je ten, že vlastníkem je root. Mám strach je zrušit "jen tak", tak se ptám, jestli tady někdo nemá nějaký způsob, vyjma restartu, jak vyselektovat ty nepotřebné.

Dík za info.
« Poslední změna: 13. 11. 2013, 18:04:59 od Petr Krčmář »


mxm

Re:IPCS
« Odpověď #1 kdy: 13. 11. 2013, 16:41:58 »
Ahoj,
zkusil bych pres ipcs -ma vypsat PID, ktery ty semafory zalozil a pak snad bude jasno.

Mirek

Re:IPCS
« Odpověď #2 kdy: 13. 11. 2013, 17:02:19 »
no, to jo, tohle mne taky napadlo, ale řeší to něco? Musí zakládající proces nutně existovat? Tímto si právě nejsem jistý.

dík za tip.

M.

mxm

Re:Mrtvé semafory na serveru
« Odpověď #3 kdy: 13. 11. 2013, 19:45:37 »
No existovat by mel. Pokud rodicovsky proces mel umrit, stale  existuje ve stavu ZOMBIE, protoze ceka na sve potomky. Vyjma demonizace, kdy se rodicovske pouto odpoji.

Nicmene pokud uvayujes nad Apache, pak bude existuje jeden proces, ktery ma vlaskna jako servery a nebo mas nekolik procesu a podle PID a PPID si najdes hlavniho rodice. Pokud jsou ty semafory od nich, pak je najdes. Pokud mas pocit ze je za sebou jen tak nechali, pak by to ale nedavalo jednoduse smysl. Na co a pro koho by tam ty semafory nechaval? To by byl memory leak.

Jinak urcite muzes sledovat aktivitu tech semaforu. No ted na to koukam na ubuntu a PID ani PID posledniho drzitele nebo neco podobnyho mi to tu k semaforu neeviduje. V praci pouzival lsof, ktery vypise otevrene descriptory. Tak to muzes zkusit, snad by i semafor nasel.

Mirek

Re:Mrtvé semafory na serveru
« Odpověď #4 kdy: 13. 11. 2013, 19:57:37 »
... vypozoroval jsem to jako příčinu "podivných" zatuhnutí mod_mono NEBO apache - to si nejsem jistý. Ani netuším, jak je možné žetam ty semafory zůstavají viset. Každopádně dík za tip, zítra na to mrku.

M.


gamer

Re:IPCS
« Odpověď #5 kdy: 14. 11. 2013, 07:04:08 »
Musí zakládající proces nutně existovat? Tímto si právě nejsem jistý.

Nemusí existovat, semafory mohou leakovat velmi snadno:
http://sqlanywhere-forum.sybase.com/questions/17043/what-is-causing-insufficient-system-resources-failed-to-allocate-a-sysv-semaphore