Вот столкнулся с непонятной мне проблемой... У меня есть некоторое
количество самописных модулей к нгинксу, которые обеспечивают
необходимую функциональность для моего фрихостинга... вроде бы все
хорошо, но где-то есть утечка... как найти ее - я придумать так и не
смог - все перепроверил, но ничего не нашел... Может у кого-нибудь
есть мысли, как можно найти место, где "течет"? Насколько я понимаю,
проблема у меня в коде "баннеровставлялки", но там вроде бы негде
было ошибиться...
Память течёт в рабочих процессах ?
вот так было рано утром...
27817 www-data 11 0 250m 248m 234m D 1.2 12.3 0:00.91 nginx
27819 www-data 9 0 250m 248m 234m S 0.0 12.3 0:00.67 nginx
27818 www-data 9 0 250m 248m 234m D 0.3 12.3 0:01.05 nginx
27820 www-data 10 0 250m 248m 234m D 1.6 12.3 0:00.84 nginx
а вот так вот сейчас...
13227 www-data 9 0 262m 259m 243m S 1.1 12.9 0:00.65 nginx
13226 www-data 9 0 262m 259m 243m S 3.3 12.9 0:01.05 nginx
13228 www-data 9 0 262m 259m 243m S 1.1 12.9 0:00.59 nginx
13229 www-data 10 0 262m 259m 243m S 1.1 12.9 0:00.63 nginx
В полученную цепочку in нельзя вставлять звенья, хранящиеся на стеке
(tail).
Нужно или полностью копировать цепочку, или выделять последнее звено tail
с помощью ngx_alloc_chain_link().