multi-thread server pod Linux
5 отговора
368 прегледа
multi-thread server pod Linux
Здравейте,
Имам многонишков socket server(нишките са pthread),
но при заяваки от прекалено много клиенти
на server ми изплюва сигнал SIGSEGV и грешка
"Too many open files". Пробвах да вдигна броят на файловите
дескриптори посредством setrlimit но след това пак изплюва
сигнал SIGSEGV и грешка "Resource unavailabel".
Та випроса ми е как да разреша този проблем.
Разцепих се да ровя из google да настроивам TCP за max
брой connection и т.н. но ...............
Server се тества с около 4800 connection
Дистрибуцията е Suse 9.0
Благодаря !
Имам многонишков socket server(нишките са pthread),
но при заяваки от прекалено много клиенти
на server ми изплюва сигнал SIGSEGV и грешка
"Too many open files". Пробвах да вдигна броят на файловите
дескриптори посредством setrlimit но след това пак изплюва
сигнал SIGSEGV и грешка "Resource unavailabel".
Та випроса ми е как да разреша този проблем.
Разцепих се да ровя из google да настроивам TCP за max
брой connection и т.н. но ...............
Server се тества с около 4800 connection
Дистрибуцията е Suse 9.0
Благодаря !
Re: multi-thread server pod Linux
Пробва ли да му сетнеш ulimit от shell-a (ако си на bash).
Съгласен съм че в общия случай това не е решение и ulimit би трябвало да прави същото което ти със setrlimit.
---
In God we Trust (all others must submit a X.509 certificate)
Съгласен съм че в общия случай това не е решение и ulimit би трябвало да прави същото което ти със setrlimit.
---
In God we Trust (all others must submit a X.509 certificate)
Re: multi-thread server pod Linux
Да пробвах.
И ми изхвърли грешка "Resource unavailable"
Май ще трябва да прекомпелирам kernel
И ми изхвърли грешка "Resource unavailable"
Май ще трябва да прекомпелирам kernel
Re: може да се припознавам
Az sym Sasho,
Iliqn u4ihme zaedno v uni-to
==>varshilov_i@abv.bg
Iliqn u4ihme zaedno v uni-to
==>varshilov_i@abv.bg
FD_SETSIZE
поиграй си с макроса FD_SETSIZE. трябва да ти е дефиниран във всички файлове на програмата. най-лесно става като го включиш в опциите на компилатора в makefile. примерно -D FD_SETSIZE=10000. той влияе на select() най-вече но мисля, че и на други неща.