I miei strumenti sono Linux, gcc e pthreads. Quando il mio programma chiama new/delete da diversi thread, e quando c'è conflitto per l'heap, vengono create le arena (vedere il seguente link per il riferimento http://www.bozemanpass.com/info/linux/malloc/Linux_Heap_Contention.html). Il mio programma funziona 24 ore su 24, 7 giorni su 7 e le arene vengono ancora create occasionalmente dopo 2 settimane. Penso che alla fine ci possano essere tante arene quante discussioni. ps (1) mostra un allarmante consumo di memoria, ma sospetto che solo una piccola porzione di esso sia effettivamente mappata.overhead per un'area arena vuota
Che cos'è il sovraccarico di un'arena vuota? (Quanta più memoria per arena viene usata che se tutta l'allocazione fosse confinata all'heap tradizionale?)
C'è un modo per forzare la creazione prima delle n arene? C'è un modo per forzare la distruzione delle arene vuote?
Quale versione di glibc e gcc usi? – osgx
La risposta sarà diversa per varie versioni di glibc. – osgx
usi ptmalloc? Quale versione di gcc e glibc? – osgx