Назад | Перейти на главную страницу

использование памяти thttpd

У меня есть сервер thttpd, работающий на коробке ARM, и я использую его для обслуживания изображений через cgi.

Я наблюдаю, что с каждым обслуживаемым изображением объем свободной памяти меньше, а в psoutput столбец VSZ увеличивается для thttpd.

В какой-то момент thttpd выдает ошибку 500 при запросе CGI, и в журнале написано «невозможно выполнить вилку».

Объем памяти, который увеличивается vsz, примерно равен размеру обслуживаемого изображения. Thttpd выполняет какое-то кеширование, но не может освободить память при разветвлении? Утечка памяти?

Как я могу отключить это кеширование?

Есть две директивы, которые позволяют ограничить кеш mmap для thttpd, они DESIRED_MAX_MAPPED_FILES и DESIRED_MAX_MAPPED_BYTES.