[sisyphus] Как ускорить работу с потоками?

Serge Pavlovsky =?iso-8859-1?q?pal_=CE=C1_interexc=2Ecom?=
Вт Авг 31 19:07:01 MSD 2004


On Втр, 2004-08-31 at 13:23 +0400, Boronin Sergey wrote:
> > к ниткам имеет отношение другие цифры
> > $ cat /proc/sys/kernel/threads-max
> > 3967
> > и то, что в linuxThreads на каждую нитку выделяется стек в 2M, тебе
> просто
> > не хватает памяти.
> >
> 
> Хм.. У меня 512Мб, если грубо считать, что на один поток выделяется 2Мб,
> то у меня должно было запуститься 256 потоков, а спокойно запускалось
> 1012.
> Причем, в swap система не лазила...

это 2м виртуальной а не физической памяти

> 
> А значение $ cat /proc/sys/kernel/threads-max в своей системе
> обязательно проверю, когда очередной раз в линуксе буду отлаживать, а то
> может это у вас 3967, а у меня может 1024, тогда будет ясно где собака
> порылась.
> 
> Есть ли ограничение на число потоков для пользователя?
> 
> Кстати можно ли увеличить максимальное число потоков без переборки ядра?
> 
> > Или переходить на NPTL, там можно задавать размер стека
> > или двигать по пути mysql-ведов, они патчат linuxThreads на предмет
> более 
> > разумного размера дефолта - 256K
> >
> 
> Где можно почитать про это?

почитайте лучше info libc на предмет pthread_attr_setstacksize





Подробная информация о списке рассылки Sisyphus