Strange memory usage

Hi!

We have a problem with strange memory usage pattern which must be related to PROOF.

The following is the log from PROOF worker. Our application was started in PROOF-Lite mode with 1 worker:

...
19:30:45 31397 Wrk-0.0 | SvcMsg in <TProofPlayerSlave::CheckMemUsage>: Memory 456324 virtual 205992 resident event 126660
19:30:45 31397 Wrk-0.0 | SvcMsg in <TProofPlayerSlave::CheckMemUsage>: Memory 456324 virtual 205992 resident event 126670
19:30:45 31397 Wrk-0.0 | SvcMsg in <TProofPlayerSlave::CheckMemUsage>: Memory 456324 virtual 205992 resident event 126680
19:32:52 31397 Wrk-0.0 | SvcMsg in <TProofPlayerSlave::CheckMemUsage>: Memory 637212 virtual 277216 resident event 126690
19:32:52 31397 Wrk-0.0 | SvcMsg in <TProofPlayerSlave::CheckMemUsage>: Memory 637212 virtual 277216 resident event 126700
...

Notice the change in memory usage. After some investigation, I’ve found that this growth occurs when the new file is being processed.
By adding some custom logging to my selector, I’ve also found that memory usage was 456M right after processing last event in the first file but it was 637M right before first call to the TSelector::Init before processing the next file.

There is no such problem when running the same selector without PROOF. Also, I’ve tried to run valgrind session, but it shows no leaks (while the memory thing is still here).

Do you have any ideas? All the tests were performed with 5.30/02.

Thanks,
Eugeny Boger

Hi,

There should be indeed an increase of memory usage while opening the first few files but 1) this should saturate to a regime value (the delta(Mem) depending on the TTree being analyzed), and 2) this should be the same when processing a TChain.

If this is not the case then it is difficult to say what could be the reason without reproducing it. Any chance to provide access to a few files allowing to reproduce the problem?

G. Ganis