---2086040288-503117624-889789298=:15529
Content-Type: TEXT/PLAIN; charset=US-ASCII
Dear ROOTers,
I am looking for a way to trace the memory usage of my ROOT based program.
It basically uses our own Event structure (class TH1Event) and a ROOT Tree
consisting of a few brances that are built from data banks.
The memory usage of this program becomes rather big (top or ps say 58 Mb
approx.). Therefore I want to know where this memory goes.
The executable is (with debugging information) 900 kb, the shared library
for the local bank structures / Event Class 4.5 Mb, and the used ROOT
libraries don't sum up to more than 6-8 Mb, I guess.
I enriched the program's main loop with some statement that dump some
memory information:
gObjectTable->Print() gives the list of objects, the total sum of sizes
grows only very slightly during execution and remains at approx. 260 kb.
For more information about the real memory usage I wanted to use
TStorage::PrintStatistics(), but it generates no output.
Memory checking should be enabled normally, I nevertheless stated
TStorage::EnableStatistics(), still the Print function keeps quiet.
How can I learn more about who swallows my memory ?
I use the new ROOT v2.0 (congratulations!) under IRIX 6.2
Thanks, Axel
********************************
Axel Schwank
DESY H1-F22
Notkestrasse 85
D-22607 Hamburg
Rm. 1b/269
Tel (+49 40) 8998-3560
Fax (+49 40) 8998-4385
e-mail schwank@mail.desy.de
Quix 0165-6-2705109
********************************
---2086040288-503117624-889789298=:15529
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="main.C"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SGI.3.95.980313124138.15529B@curacao.desy.de>
Content-Description:
I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGlvc3RyZWFtLmg+DQoN
Ci8vICBST09UIGNsYXNzZXMNCiNpbmNsdWRlIDxUUk9PVC5oPg0KI2luY2x1
ZGUgPFRGaWxlLmg+DQojaW5jbHVkZSA8VFRyZWUuaD4NCiNpbmNsdWRlIDxU
QnJhbmNoLmg+DQojaW5jbHVkZSA8VFN0b3JhZ2UuaD4NCiNpbmNsdWRlIDxU
T2JqZWN0VGFibGUuaD4NCiNpbmNsdWRlIDxURW52Lmg+DQoNCi8vICBIMSBj
bGFzc2VzDQojaW5jbHVkZSAiVEgxRXZlbnQuaCINCiNpbmNsdWRlICJUT3V0
cHV0LmgiDQoNCiNpbmNsdWRlICJtaW5pY2YuaCINCg0KLy8gIEJPUw0KI2lu
Y2x1ZGUgImN4eF9ib3MuaCINCiNpbmNsdWRlICJjeHhfbWRiLmgiDQojaW5j
bHVkZSAiY3h4X2ZwYWNrLmgiDQojaW5jbHVkZSAiY19iY3MuaCINCiNpbmNs
dWRlICJjX2Jvc21kbC5oIg0KDQpJbnRfdCBjb3NtaWMoVEgxRXZlbnQqKTsN
Cg0KVEgxRXZlbnQqIGdFdmVudDsNClRPdXRwdXQqIGdPdXRwdXQ7DQpUT2Jq
ZWN0VGFibGUqIGdPYmplY3RUYWJsZTsNCg0KDQpUUk9PVCBDb3NtaWMoImNv
c21pYyIsIlNlbGVjdGlvbiBvZiBldmVudHMgd2l0aCBjb3NtaWNzIik7DQoN
CmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndil7DQoNCmdST09ULT5T
ZXRCYXRjaChrVFJVRSk7DQpnUk9PVC0+U2V0U3R5bGUoIlBsYWluIik7DQoN
Ci8vLS0tLS0tU2V0IHRoZSByb290ZmlsZW5hbWUgYW5kIG51bWJlciBvZiBl
dmVudHMgdG8gcHJvY2Vzcw0KDQpjb25zdCBUU3RyaW5nIHJvb3RmaWxlcGF0
aCA9IFRTdHJpbmcoIi9oMXdncy9jdXJhY2FvL3gwMS91c3Ivc2Nod2Fuay9y
b290LyIpOw0KVFN0cmluZyByb290ZmlsZW5hbWUgPSBUU3RyaW5nKCJFdmVu
dC5yb290Iik7DQpJbnRfdCBOZXZlbnRzID0gMTAwMDAwMDsNCmlmIChhcmdj
PjEpIHJvb3RmaWxlbmFtZSA9IGFyZ3ZbMV07DQppZiAoYXJnYz4yKSBOZXZl
bnRzID0gYXRvaShhcmd2WzJdKTsNClRTdHJpbmcgcm9vdGZpbGUgPSByb290
ZmlsZXBhdGggKyByb290ZmlsZW5hbWU7DQoNCkludF90IGV2ZW50bm89MDsN
Cg0KLy8tLS0tLUluaXQgQk9TDQoNCmNvbnN0IGludCAgbmJuYW09MjAwMDsN
CmludCBpcmV0ID0gMCxpZXJyID0gMDsNCmNfYm5hbWVzKG5ibmFtKTsNCmNf
Ym9zKEJjcy5pdyxOQk9TSVcpOw0KY19mcGFybXIoNSk7DQpjX2JyZWFkYygp
Ow0KDQovLy0tLS0tSW5pdCBIMUV2ZW50IHN0cnVjdHVyZQ0KDQpnRW52LT5Q
cmludCgpOw0KVFN0b3JhZ2U6OkVuYWJsZVN0YXRpc3RpY3MoKTsNCmdFdmVu
dCA9IG5ldyBUSDFFdmVudCgxKTsNCmdPdXRwdXQ9IG5ldyBUT3V0cHV0KDEp
Ow0KaW5pdF9zcGVjaWFsX21lc3NhZ2VzKGdPdXRwdXQpOw0KDQovLy0tLS0t
b3BlbiBvdXRwdXQgZmlsZQ0KDQpURmlsZSAqaGZpbGUgPSBuZXcgVEZpbGUo
cm9vdGZpbGUsIlJFQ1JFQVRFIiwiQ29zbWljIGRhdGEiKTsNCmhmaWxlLT5T
ZXRDb21wcmVzc2lvbkxldmVsKDMpOw0KVFRyZWUgKnRyZWUgPSBuZXcgVFRy
ZWUoIlQiLCJSZXF1aXJlZCBiYW5rcyBmb3IgY29zbWljIGFuYWx5c2lzIiwy
MDAwMDAwKTsNCnRyZWUtPlNldEF1dG9TYXZlKDIwMDAwMDAwKTsgLy8gYXV0
b3NhdmUgd2hlbiAyMCBNYnl0ZSB3cml0dGVuDQpJbnRfdCBidWZzaXplID0g
NjQwOw0KSW50X3Qgc3BsaXQgICA9IDE7DQoNCi8vLS0tLS1DcmVhdGUgdGhl
IGJyYW5jaGVzLCBlYWNoIHJlcXVpcmVkIGJhbmsgYnVpbGRzIG9uZSBicmFu
Y2gNCg0KdHJlZS0+QnJhbmNoKCJEVFJBIiwmZ0V2ZW50LT5mRHRyYSxidWZz
aXplLHNwbGl0KTsNCnRyZWUtPkJyYW5jaCgiRFROViIsJmdFdmVudC0+ZkR0
bnYsYnVmc2l6ZSxzcGxpdCk7DQp0cmVlLT5CcmFuY2goIkRDT1MiLCZnRXZl
bnQtPmZEY29zLGJ1ZnNpemUsc3BsaXQpOw0KdHJlZS0+QnJhbmNoKCJETVVP
IiwmZ0V2ZW50LT5mRG11byxidWZzaXplLHNwbGl0KTsNCnRyZWUtPkJyYW5j
aCgiRFRJTyIsJmdFdmVudC0+ZkR0aW8sYnVmc2l6ZSxzcGxpdCk7DQp0cmVl
LT5CcmFuY2goIkRWRVIiLCZnRXZlbnQtPmZEdmVyLGJ1ZnNpemUsc3BsaXQp
Ow0KdHJlZS0+QnJhbmNoKCJETUlTIiwmZ0V2ZW50LT5mRG1pcyxidWZzaXpl
LHNwbGl0KTsNCg0KLy8gZ09iamVjdFRhYmxlLT5QcmludCgpOw0KVFN0b3Jh
Z2U6OlByaW50U3RhdGlzdGljcygpOw0KDQovLy0tLS0tTWFpbiBsb29wDQoN
CndoaWxlIChldmVudG5vPE5ldmVudHMpew0KDQogIGNfZnNlcXIoIkJPU0lO
UFVUIiwmaXJldCk7DQogIGlmKGlyZXQgPCAwKSBicmVhazsNCiAgDQogIGdF
dmVudC0+RmlsbER0cmEoKTsNCiAgZ0V2ZW50LT5GaWxsRHRudigpOw0KICBn
RXZlbnQtPkZpbGxEY29zKCk7DQogIGdFdmVudC0+RmlsbERtdW8oKTsNCiAg
Z0V2ZW50LT5GaWxsRHRpbygpOw0KICBnRXZlbnQtPkZpbGxEdmVyKCk7DQog
IGdFdmVudC0+RmlsbERtaXMoKTsNCiAgDQogIGlmIChjb3NtaWMoZ0V2ZW50
KTwxKSB7Z0V2ZW50LT5DbGVhcigpOyBjb250aW51ZTt9DQogICsrZXZlbnRu
bzsNCiAgY291dCA8PCAiRXZlbnQgTnVtYmVyICIgPDwgZXZlbnRubyA8PCAi
IDogUnVuPSAiDQogICAgPDwgQm9zbWRsLm5jY3J1biA8PCAiIEV2ZW50PSAi
IDw8IEJvc21kbC5uZXZlbnQgPDxlbmRsOw0KICANCiAgaWYgKGV2ZW50bm8l
MTA9PTApIHsNCiAgICBnT2JqZWN0VGFibGUtPlByaW50KCk7DQogICAgVFN0
b3JhZ2U6OlByaW50U3RhdGlzdGljcygpOw0KICB9DQogIA0KICAvLy0tLUZp
bGwgcmVxdWlyZWQgYmFua3MgaW4gdGhlIHRyZWUNCiAgDQogIHRyZWUtPkZp
bGwoKTsNCi8vICBjX2ZwY3VyeCgiQk9TSU5QVVQiLCJJRFhDUkUiLCZpZXJy
KTsNCiAgZ0V2ZW50LT5DbGVhcigpOw0KfQ0KDQpoZmlsZS0+V3JpdGUoKTsN
Cg0KLy8tLS0tLWNsb3NlIGZpbGVzDQoNCmhmaWxlLT5DbG9zZSgpOw0KY19m
cGFybSgiQ0xPU0UgQUxMIik7DQoNCnJldHVybiAwOw0KfQ0K
---2086040288-503117624-889789298=:15529--