Memory not released even after disposing or GC.collect

Hi,

I am using Syncfusion XLSIO control in my project. 

The project works fine but issue is of high memory usage and memory not getting released. Here is a snapshot of the memory usage behavior (based on a typical run):

  1. At the start(before calling any component of Syncfusion) -- 100 MB
  2. Immediately after calling Syncfusion objects -- 350 MB 
  3. During the process - varies from 350- 500 MB
  4. After Syncfusion objects are released / descoped / GC.collect -- around 320 MB

Item number 4 is the cause of concern. I was expecting this to be same as the starting position (~ 100 MB). I tried to investigate the allocation and it seems that the dictionary objects are holding the memory. Shouldn't these be released ?

Another observation is this :
 5. If I again call Syncfusion objects, the memory remains within around 500 MB. This means the previous object dictionaries are getting utilised. 

The entire above behavior is for 1 user. If memory is not released (when it should be), it's going to be extremely difficult to use for multi user actual production release. 

Has anyone else noticed the same behavior? 

thanks


1 Reply

MC Mohan Chandran Syncfusion Team December 4, 2023 11:50 AM UTC

Hi Somnath,

There are only static dictionaries and records from XlsIO even after calling the dispose method which should be in only in few kb. We suspect that there are other modules in your application causing the memory leak. Please share with us the sample to reproduce the issue along with input Excel documents to proceed further.

Regards,

Mohan.


Loader.
Up arrow icon