Access Memory leaks - Not sure where to Post this question.

  • Thread starter Thread starter BillD42
  • Start date Start date
B

BillD42

Hello All,

I'm not sure what is causing this or if this is normal operation form
Access.

I'm AC2002 on a Win 2000 OS.

I decided to take a look at the task manager while my access application was
running.
I noticed when my DB app is loaded and initialized memory usage for
MSACCESS in the task
manager was a huge 18 megs. As I started to add records and perform other
operations the memory
usage continued to rise. I can understand memory usage going up as needed
modules are loaded but after
just five minutes of working the apps various features, memory usage was up
to 30megs. It seems just opening
and closing the same forms uses additional memory each time.

I was very careful to set all my object variables to "Nothing" as soon as I
was done using them. I don't see any
problems in my code.

Is this just normal MS ACCESS with all its bloat in action or is there
anything I can do about this?

Bill
 
I encountered this problem before too. After a simple 500 navigations the application would just crash on us. The best you
can do is minimize the use of recordsets in your code where ever possible, leaving them open when they could be re-used
rather than closing and re-opening every time. It appears that there is a memory leak on opening and closing recordsets so
just minimize their use when possible. I managed to tripple the number of records before the crash doing this. It's still
quite undesirable but that's about the best I can do for now.

Just out of curiosity, what do you use for the data server? We were using SQL Server when I encountered this problem but I
didn't know if it applied to JET or other data servers as recordset objects differ by the type of data connection.

Hello All,

I'm not sure what is causing this or if this is normal operation form
Access.

I'm AC2002 on a Win 2000 OS.

I decided to take a look at the task manager while my access application was
running.
I noticed when my DB app is loaded and initialized memory usage for
MSACCESS in the task
manager was a huge 18 megs. As I started to add records and perform other
operations the memory
usage continued to rise. I can understand memory usage going up as needed
modules are loaded but after
just five minutes of working the apps various features, memory usage was up
to 30megs. It seems just opening
and closing the same forms uses additional memory each time.

I was very careful to set all my object variables to "Nothing" as soon as I
was done using them. I don't see any
problems in my code.

Is this just normal MS ACCESS with all its bloat in action or is there
anything I can do about this?

Bill

Jeremiah Ellison
Ellison Enterprises - Your One Stop IT Experts
 
I am using an Access mdb as the backend .

Memory leaks on opening and closing recordsets. That sounds odd. Thats
what it should do best.
It's an RDMS - it should open and close recordsets all day with no
problems.

I have been told by someone else I recently spoke to that Access does take
up a good chunk of memory as it caches data. So it will increase as you use
it.
So far I have not experienced any crashes. I'll do some more testing to
see if memory useage levels off after the most commonly used forms are
opened a few times.

Thanks,

Bill


Jeremiah Ellison said:
I encountered this problem before too. After a simple 500 navigations the
application would just crash on us. The best you
can do is minimize the use of recordsets in your code where ever possible,
leaving them open when they could be re-used
rather than closing and re-opening every time. It appears that there is a
memory leak on opening and closing recordsets so
just minimize their use when possible. I managed to tripple the number of
records before the crash doing this. It's still
quite undesirable but that's about the best I can do for now.

Just out of curiosity, what do you use for the data server? We were using
SQL Server when I encountered this problem but I
didn't know if it applied to JET or other data servers as recordset
objects differ by the type of data connection.
 
Back
Top