etw consumer takes up high memory(private working set).


  • Hi,

    I have a etw consumer dll made in c++ , that should be called 24 hours and consume particular events (disk and file events) much like resource monitor.  But as time passes the application seems to gradually consumer more and more memory. The architecture is as follows -

    The etw Consumer dll be called for event consumption for 3 mins period. After which it will send back the results in a callback.

    So according to what is observed during the start the memory is at 6.5 MB (roughly) and when it starts consumption the memory immediately spikes upto 11-12 MB and gradually increases by 100 maybe 200 KB during the consumption period, after which at the end of comsution it comes down to 6MB (roughly). But on such consumption period If the user  does a lot of disk activity I will observe increase in memory from 12 to maybe 13 or 14 mb. But this time it comes down to 7-8 mb instead of 6 MB , which indicates some part of memory is not freed(I guess). But cant find any problem in my code. So I know this is a very general question in a sense its more inclined towards memory leaks rather the etw consumption .  But I cant seem to find any place in my code where I am not freeing memory after event consumption .

    Sunday, March 22, 2015 5:33 AM