This is a migrated thread and some comments may be shown as answers.

Memory Leaks?

9 Answers 397 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Thomas Eberhard
Top achievements
Rank 2
Thomas Eberhard asked on 30 Nov 2007, 07:07 AM
We appear to have a memory leak when using the Sample application for the Reporting Web

Basically we load tons of reports and notice that the memory does not get released by the process that creates them. Is this an issue, could you tell me possibly what could be going on?

9 Answers, 1 is accepted

Sort by
0
Chavdar
Telerik team
answered on 03 Dec 2007, 03:00 PM
Hi Thomas,

Currently, the amount of memory allocated when rendering the reports is not optimized as much as possible. This is a known issue and we will look at it as soon as we finish with some more important tasks concerning the core Reporting functionality and features.

If fact, we cannot say that this problem is caused by memory leaks because in the managed code, the memory is handled by the garbage collector. However, we will do our best to improve the memory utilization.

Best wishes,
Chavdar
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
R.J.J. Marks
Top achievements
Rank 2
answered on 06 Aug 2008, 09:19 AM
Hi I'm experiencing memory leaks as well. You are right that it is handled by the garbage collecctor, but that could take an hour or so to start (The garbage collector is not running always.
0
Steve
Telerik team
answered on 06 Aug 2008, 10:56 AM
Hi R.J.J. Marks,

We have still not been able to work explicitly on memory utilization and caching. However various fixes and small optimizations have been made that should improve this behavior compared to the version when this forum thread was opened. We do have caching logged as one of our priorities for the Reporting performance improvement and you will see it implemented for a subsequent version.

Greetings,
Steve
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
dave
Top achievements
Rank 1
answered on 06 Aug 2008, 12:55 PM
How prevalent is this issue?

My company is evaluating switching from Crystal Reports to other reporting controls.  We have a product which automates complex print runs, often consisting of 6-12 different report templates printed in dynamic collation for multiple recipients.  We can easily need to print hundreds of reports in a print run.

0
Steve
Telerik team
answered on 07 Aug 2008, 10:34 AM
Hi Dave,

The rendering is the slowest part of our product and we have already started working on improving it. Currently every time the report is previewed or exported through the viewer it is processed and rendered from scratch.. Obviously, this is not the best way to do this, but we still lack any caching mechanism. If everything goes as expected until the end of the year we will have a better performing rendering engine, which will exhibit much better results.
Meanwhile you can test how it behaves for your scenarios and decide whether it fits your needs. If we can be of further help during your evaluation - do not hesitate to drop us a line with your question.

Sincerely yours,
Steve
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
R.J.J. Marks
Top achievements
Rank 2
answered on 07 Aug 2008, 10:41 AM
Well waiting is not my biggest concearn, but the server holding 100Megs of memory for an export that contains 1000 records really frightens me and sets me to wonder why this was released in the first place. It already crashed our server 3 times and I'm now forced to find another solution (in the form of a RadGrid) only that gives other issues as the PDF export of RadGrid really renders funky. The PDF export functionality needs some optimalisations as well. I cannot get some decent characters in the PDF.
0
Steve
Telerik team
answered on 07 Aug 2008, 11:05 AM
Hello R.J.J. Marks,

Can you please check the app pool for your app and increase the available memory? A value of 300 Mb used memory and default value for virtual memory should solve this problem. As for the pdf export - do you refer to our Reporting export or RadGrid pdf export? If the latter please open a separate ticket for the grid control. As to Reporting pdf export - make sure that you are using an unicode font and that font supports the character you are trying to display.

Regards,
Steve
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
R.J.J. Marks
Top achievements
Rank 2
answered on 07 Aug 2008, 11:08 AM
Well I kicked the Telerik reporter out and creating one myself using RadGrid. I'll check the reporting next year and see if it is improved.

Thanks for your time.
0
Eliza Sahoo
Top achievements
Rank 1
answered on 15 Apr 2010, 09:24 AM
In a .net windows application the form might have resource leaks though it is running with managed codes. We can use the below procedure to check if a form is having resource leak.
  1. Open  Windows Task Manager
  2. Click on Process tab.
  3. Select "View" in the menu and then select "Select Columns" menu item.
  4. Check the USER Objects and GDI Objects (check boxes) to make them appear on the process page list header.
  5. The code in your project that lunches the Win Form, please ensure you have called the Dispose method. Forms implement the IDisposable interface so their dispose method must be called the moment they are no longer needed (Test 1). We can call Dispose explicitly or even better to instantiate it implicitly by the help of using clause (Test 2).
  6. We can use the GC.Collect() after the using statement or after the call to dispose for troubleshooting purpose.
  7. Now time to launch the form. Please note the note the USER Objects and GDI Objects values at the task manager. Close the form after some time and when the form is closed, note the values again at the task manager. We can find the value is decreased if it is increased then there is a leak in the form.
  8. Fix the resource leak and  remove the call to GC.Collect(). It is generally unnecessary to make an explicit call to GC.Collect() .
Tags
General Discussions
Asked by
Thomas Eberhard
Top achievements
Rank 2
Answers by
Chavdar
Telerik team
R.J.J. Marks
Top achievements
Rank 2
Steve
Telerik team
dave
Top achievements
Rank 1
Eliza Sahoo
Top achievements
Rank 1
Share this question
or