memory exception once a day

Posts   
 
    
tvoss avatar
tvoss
User
Posts: 192
Joined: 07-Dec-2003
# Posted on: 10-Nov-2009 21:55:15   

Hello,

On two asp.net projects of mine where the clients have millions of records, we have the same issue of the aspnet_wp.exe process grows slowly until the process needs to be killed or out of memory exceptions will start occurring for everyone when the size approaches the limit of IIS for memory usage.

We've use 3GN in boot.ini to double our time for the kill process, but still once a day it stops the entire application.

I engaged Microsoft tech support on this and they thought they could get it down to a line of code. But what they got it down to was the it had something to do with garbage collection not happening on sets of objects created by llblgenpro code.

This didn't narrow it down at all since that code is used in every page. They kept emphasizing that these objects should be normally closed by GC, but something about frequency of use or something was giving them a special status that just kept putting the GC action off. So we have the growth.

Have you had others reporting such?

Obviously my clients aren't impressed by these results.

Thanks, Terry

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39862
Joined: 17-Aug-2003
# Posted on: 11-Nov-2009 10:12:29   

No, never had these reports.

Couple of things as it's not clear to me: - MS says the GC should collect the objects but that doesn't happen, and MS gives as reason the frequency of usage? Could you elaborate on that? - You say, 'we use them on every page', but is that re-using or creating the objects again? - Do you cache anything in session / application object like an entity with a collection? Keep in mind that if you for example cache an Order entity which has a reference to a Customer entity, that customer entity is also kept in memory and with it its Orders collection and ALL the orders it has in there.

If you re-create more objects in a period of time than the GC can collect you will get out of memory, but a whole day is enough time to clean it up IMHO.

Frans Bouma | Lead developer LLBLGen Pro