PDA

View Full Version : massimo numero di threads allocabili per processo, sotto linux, non vi è capitato...?


wireless
25-04-2007, 17:53
salve a tutti,
per capire se è un errore del mio software o un problema diverso sto facendo un po' di prove e leggendo un po' di roba in giro, anche se il materiale è vasto e variegato.
In sostanza, il mio progetto concorrente per il corso, basato sui threads, crasha quando si avvicina ad un limite superiore relativo al numero di threads creati all'interno del processo: cioè, in soldoni, quando arriva a creare x threads, crasha (segmentation fault). Dato che il numero è ebbastanza fisso e credo piccolo ( 200, 500..sotto i mille) per ogni sistema (hardware / software) da me provato, e diverso ovviamente da sistema a sistema, deve esserci un qualche vincolo.
Escludo, anche per quello che ho letto, che dipenda principalmente dall'hardware (anche se la ram è fondamentale, leggevo che linux alloca 2mega per ogni threads...): deve pertanto esserci un vincolo software da qualche parte...ma dove?
dando il comando:

grep THREADS_MAX /usr/include/bits/local_lim.h

si ottiene
#define _POSIX_THREAD_THREADS_MAX 64

si ha un valore che per alcuni è il vincolo cercato, ma ho provato a cambiarlo senza risultati, credo infatti che tale valore viene usato in fase di compilazione del
kernel
gcc
libc
altro...

Vorrei capire come stanno le cose, se devo ricompilare qualcosa e cosa: al limite mi limito (giocone di parole) a 64 threads, sapendo che oltre sforo (nota: il numero di threads max da me trovato è > di 64, ma non sono riuscito a determinate se quello da me trovato è il numero di thread attivi contemporaneamente o il numero totale di threads creati...)

Qui -> http://www.apsis.ch/pound/pound_list/archi...9/1094031526000
c'è un discorso interessante, anche se vecchiotto, che tira fuori la questione linuxthreads, native posix thread support, ma dando

/lib/libc.so.6

ottengo

GNU C Library development release version 2.4, by Roland McGrath et al.
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.1.2 20070302 (prerelease) (4.1.2-1mdv2007.1).
Compiled on a Linux 2.6.17 system on 2007-03-07.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU libio by Per Bothner
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
Thread-local storage support included.
For bug reporting instructions, please see:


cioè, pare che il mio libc contenga il supporto agognato a nptl...

Insomma, situazione complessa.

Aiutino?

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.