Ограничение в 25 threads для всех процессов

Цитата: Удаленный пользователь от 28/04/2021, 21:42FT-AIR-DUO-G
Существует ли возможность изменить ограничение на 25 threads? И как, если да.
stunnel, установленный на роутере, запускает столько потоков, сколько через него соединений идет. И ограничение не его, оно общее с прочими threads, маловато будет. Как только согласно htop количество threads доходит до 25, stunnel сыпет ошибками про pthread_create: Resource temporarily unavailable. Свободной рамы 3/4.
FT-AIR-DUO-G
Существует ли возможность изменить ограничение на 25 threads? И как, если да.
stunnel, установленный на роутере, запускает столько потоков, сколько через него соединений идет. И ограничение не его, оно общее с прочими threads, маловато будет. Как только согласно htop количество threads доходит до 25, stunnel сыпет ошибками про pthread_create: Resource temporarily unavailable. Свободной рамы 3/4.

Цитата: sfstudio от 28/04/2021, 22:45Перенёс. Т.к. тема выходит за обсуждение штатного функциоанала (stunnel к оному отношения не имеет).
А управление лимитами в Wive осуществляется ровно так же как в любом большом Linux. Т.е. ulimit/procfs и т.д. Подробнее гугл расскажет. Сохранить можно в rwfs (расскажет поиск по форуму).
Перенёс. Т.к. тема выходит за обсуждение штатного функциоанала (stunnel к оному отношения не имеет).
А управление лимитами в Wive осуществляется ровно так же как в любом большом Linux. Т.е. ulimit/procfs и т.д. Подробнее гугл расскажет. Сохранить можно в rwfs (расскажет поиск по форуму).

Цитата: Удаленный пользователь от 11/06/2021, 22:22В общем, дело оказалось в stack size, на который смотрит функция pthread_create, и который выставлен в 8 МБ.
ulimit -s
Т.е. если процесс запускает 25 трэдов, то под них резервируется аж 200 МБ. И это скорее всего неадекватное значение. Выставление stack size в unlimited позволяет запустить хоть сотню трэдов, и всё в порядке.
Судя по этой переписке, в OpenWRT лечили ту же беду аж десять лет назад, а stack size по умолчанию был - те же 8 МБ. Лечилось, как понимаю, патчем к uClibc:
The issue that I found is that if getrlimit returns a valid value for the stack limit, it will be used as a default even if the architecture specific default is lower.
А fs save, к сожалению, не помогает - после перезагрузки дефолтное значение возвращается обратно.
Куда б воткнуть команду 'ulimit -s unlimited'?
Тут
Список хуков:
1) /etc/udhcp.d - scripts start after udcpc renew lease
2) /etc/vlan.d - scripts start after vlans configure
3) /etc/ip(6)tables.d - scripts start after netfilter configure
4) /etc/ppp-l2tpsrv/ip-up(down).d - scripts start after client connect(disconnect) to VPN server
5) /etc/ppp/ip-up(down).d - scripts start after router connetc(disconnect) to external VPN server
6) /etc/scripts/wan_up.sh - this script start after WAN up and full services reinit
7) /etc/dnsmasq.d - include another lot of configuration dnsmasq optionsвсё завязано на сетевые события. Пораньше б.
В общем, дело оказалось в stack size, на который смотрит функция pthread_create, и который выставлен в 8 МБ.
ulimit -s
Т.е. если процесс запускает 25 трэдов, то под них резервируется аж 200 МБ. И это скорее всего неадекватное значение. Выставление stack size в unlimited позволяет запустить хоть сотню трэдов, и всё в порядке.
Судя по этой переписке, в OpenWRT лечили ту же беду аж десять лет назад, а stack size по умолчанию был - те же 8 МБ. Лечилось, как понимаю, патчем к uClibc:
The issue that I found is that if getrlimit returns a valid value for the stack limit, it will be used as a default even if the architecture specific default is lower.
А fs save, к сожалению, не помогает - после перезагрузки дефолтное значение возвращается обратно.
Куда б воткнуть команду 'ulimit -s unlimited'?
Тут
Список хуков:
1) /etc/udhcp.d - scripts start after udcpc renew lease
2) /etc/vlan.d - scripts start after vlans configure
3) /etc/ip(6)tables.d - scripts start after netfilter configure
4) /etc/ppp-l2tpsrv/ip-up(down).d - scripts start after client connect(disconnect) to VPN server
5) /etc/ppp/ip-up(down).d - scripts start after router connetc(disconnect) to external VPN server
6) /etc/scripts/wan_up.sh - this script start after WAN up and full services reinit
7) /etc/dnsmasq.d - include another lot of configuration dnsmasq options
всё завязано на сетевые события. Пораньше б.

Цитата: sfstudio от 12/06/2021, 01:18Что значит fs save не помогает? Куда пишете что не помогает? Не все в /etc статично. Многое на лету генерится. И ессно перезаписывается.
Почему не делать улимит для stunnel перед запуском? Энтварь ж?
У нас используется uclibc-ng можно поднять тему у них в рассылке. Ну что бы понять почему так.
Что значит fs save не помогает? Куда пишете что не помогает? Не все в /etc статично. Многое на лету генерится. И ессно перезаписывается.
Почему не делать улимит для stunnel перед запуском? Энтварь ж?
У нас используется uclibc-ng можно поднять тему у них в рассылке. Ну что бы понять почему так.