LINUX.ORG.RU

История изменений

Исправление Sorcerer, (текущая версия) :

От подмены аллокатора nginx хуже не будет.

Насколько я знаю, nginx использует собственный аллокатор

Не совсем. Nginx использует «пулы памяти», в которых память может только аллоцироваться, а освобождение выполняется только при освобождении пула. Реаллокаций не выполняется. У каждого запроса обычно один пул. Так что аллокатор nginx - это легковесная надстройка над malloc. Malloc’у любого аллокатора работать в таком режиме не должно составлять труда.

Если же вы используете какой-нибудь сторонний модуль nginx, который выполняет свою обработку и самостоятельно аллоцирует память в обход пулов памяти nginx, то это другое дело.

Исходная версия Sorcerer, :

От подмена аллокатора nginx хуже не будет.

Насколько я знаю, nginx использует собственный аллокатор

Не совсем. Nginx использует «пулы памяти», в которых память может только аллоцироваться, а освобождение выполняется только при освобождении пула. Реаллокаций не выполняется. У каждого запроса обычно один пул. Так что аллокатор nginx - это легковесная надстройка над malloc. Malloc’у любого аллокатора работать в таком режиме не должно составлять труда.

Если же вы используете какой-нибудь сторонний модуль nginx, который выполняет свою обработку и самостоятельно аллоцирует память в обход пулов памяти nginx, то это другое дело.