Jelikoz se problem dnes zase vyskytl nekolikrat po sobe, tak se k tomuto
tematu vracim...
Dan Lukes wrote on 2020/03/14 09:49:
3. chybu procesu, ktery se rozhodne se neukoncovat.
Kdyz je v systemu takhel zaseknuty proces, je nejaka moznost, jak se k
nemu pripojit nejakym debugovacim nastrojem a zjistit, proc / na cem se
zaseknul? V tomhle jsem absolutne nezkuseny...
Mozne reseni:
a) oprava procesu aby se takhle nechoval (muze to byt chyba PHP nebo
dusledek vady interpretovaneho PHP kodu)
nebo
b) napsat wrapper, spoustet ze sshd ten a ktery teprve bude volat
postizeny proces a ktery bud etransparentni az na ten SIGHUP, ktery
nebude dolu predavat 1:1 a misto nej posle jiny signal, na ktery proces
reagovat ochotny je, propadne SIGKILL, ktery sam obslouzit (a tedy
ignorovat) nemuze.
Ten wrapper by taky byla moznsot, ale nejsem si jisty, jestli tu zmenu
akceptuje klient (budou muset zmenit neco na sve strane s Jenkinsem)
Zrejme dalsi prizmak vady toho SW.
Tak mu omez maximalni dovoleny spotrebovany cas procesoru. Po prelezeni
sift limitu dostane SIGXCPU coz ho defaultne taky ukonci, ale i tohle
muze ignorovat. Prelezeni hard limitu by ale uz prezit nemel.
Pod stejnym uzivatelem se na tom serveru spousti vice uloh. Funguje
tohle tak, ze se ten limit z login.conf bude aplikovat jen na ten
konkretni proces, ktery presahne ten CPU time? Tzn. opravdu to killne
jen tenhle vadny proces?
V manualu k login.conf je
RESOURCE LIMITS
Name Type Notes Description
cputime time CPU usage limit.
"time" ma jakou jednotku? Pocet sekund, ktere muze proces sezrat na CPU
a pak dojde k jeho ukonceni?
Mirek
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l