Meine Werkzeuge sind Linux, Gcc und Pthreads. Wenn mein Programm new/delete von mehreren Threads aufruft und wenn es einen Konflikt für den Heap gibt, werden 'arena's erstellt (siehe folgenden Link als Referenz). Mein Programm läuft 24x7, und Arenen werden immer noch gelegentlich nach 2 Wochen erstellt. Ich denke, dass es irgendwann so viele Arenen wie Threads geben kann. ps (1) zeigt alarmierenden Speicherverbrauch, aber ich vermute, dass nur ein kleiner Teil davon tatsächlich zugeordnet ist.Overhead für eine leere Heap Arena
Was ist der "Overhead" für eine leere Arena? (Wie viel mehr Speicher pro Arena wird verwendet, als wenn die gesamte Zuweisung auf den traditionellen Heap beschränkt wäre?)
Gibt es eine Möglichkeit, die Erstellung im Voraus von n Arenen zu erzwingen? Gibt es eine Möglichkeit, die Zerstörung leerer Arenen zu erzwingen?
Welche Version von glibc und gcc verwenden Sie? – osgx
Die Antwort wird für verschiedene glibc-Versionen unterschiedlich sein. – osgx
Verwenden Sie Ptmalloc? Was gcc und glibc Version? – osgx