On Tuesday 24 February 2015 09:21:58 Nick Kostirya wrote: > Привет всем. Вопрос по использованию памяти при fork. > > Есть у меня perl приложение, которое создает дочерние рабочие процессы. > Родительский процесс постоянно дает дочерним задания, дочерние отправляют > ответы в главный. Количество дочерних процессов постоянно. > > В дочерних процессах кроме perl кода исполняется C код: парсер html > страничек и Curl (если используется). > > Приложение может использовать в качестве HTTP клиента: LWP, Curl, > AnyEvent::HTTP. > > Сколько памяти занимает приложение смотрел по количеству свободной памяти > перед завершение дочерних процессов. Эти значение представлены ниже для > разного количество рабочих процессов (0 - это когда без fork, все работа в > главном идет). > > > LWP Curl AnyEvent::HTTP > FreeBSD Linix FreeBSD Linix FreeBSD Linix > 0 15 17 20 17 38 20 > 1 23 26 35 20 47 25 > 2 33 38 50 25 62 33 > 3 43 51 64 30 80 40 > 4 53 65 76 34 93 47 > 5 61 78 84 37 109 55 > 6 67 89 98 42 119 62 > 7 75 103 105 45 126 69 > 8 85 116 115 50 146 76 > 9 93 126 122 52 153 83 > 10 103 136 130 57 166 91 > > Удивило сравнение с Linux. > > Как можно это объяснить и что можно подкрутить?
Обьяснить можно тем, что FreeBSD с бОльшей вероятностью оставит в оперативной пвмяти те куски кода и данные, которые могут понадобиться вновь.
