Здравствуйте,
Iliya Peregoudov wrote:
[]
>
> libpthread выделяет под каждый тред стек. И все эти стеки размещаются в
> одном адресном пространстве -- адресном пространстве процесса.
> Собственно вызов pthread_create() и создаёт стек для запускаемого треда.
> Если в вызов pthread_create() не было передано атрибута, задающего
> размер стека, pthread_create() использует размер по умолчанию. Например,
> на RHEL3 это 10M. При использовании стека по умолчанию создать в одном
> процессе больше 3G/10M=~3K тредов не получится. Если хочется много
> редов, надо задавать размер их стеков с помощью
> pthread_attr_setstacksize(). Делает ли это Communigate для Linux? Можно
Делает, когда задана опция --DefaultStackSize bytes <http://www.communigate.com/CommuniGatePro/SysAdmin.html#Options>
> попробовать посмотреть с помощью pmap (у меня нет Communigate поэтому на
> примере произвольного многотредового процесса):
[]
-- Best regards, Dmitry Akindinov -- Stalker Labs.Получено Fri Nov 16 09:45:57 2007
Этот архив был сгенерирован hypermail 2.1.8 : Fri 16 Nov 2007 - 16:15:14 MSK