OK.

Now thing make sense!

To justify my following suggestion, I would like to first digress a
little.

Modern OS's allow you to run programs that require more memory than
the computer actually has. When I used the term "memory than the
computer actually has" I am talking about physical memory. These are
physical devices (typically sticks) that store your programs and the
data.

When the OS (operating system) determines that a program is requesting
more memory than can be stored in the physical memory, it starts to
play tricks on you and provides additional storage by using Virtual
memory. It is called Virtual because it is not real (i.e. physical)
memory.

So how does it create Virtual memory if it is not physical? It
allocates space on your hard drive that holds the data that would have
been in physical memory if it was available and then it starts a
complicated series of tricks to fool the program into thinking it has
all of the memory that it needs.

The OS will then set up some "traps" that will allert it when the
program is trying to read some of the memory that it thinks it has but
in actuallity is on disk. When one of these traps "goes off" your
program will be suspended by the OS and then the OS will go read the
data from disk and copy it into physical memory. It will then re-start
the program (right where it left off) and everything proceeds as if
the "tricks" never happened.

The above is a brief explanation. A full explanation is beyond me and
is subject to change with every OS upgrade.

Well I miss-lead you slightly in the above because there are some
important differences in Virtual Memory and Physical.

THe first big difference is speed. Code resident in physical memory
takes only nano-seconds to respond to a read or write attempt. Virtual
memory is much slower. It has to wait on disk drives to read data etc.

You may have noticed that when you were running the scaled down
version of your code that the application was probably more
responsive.

The other differences are not important right now.

So...
Your running out of Virtual memory is probably becuase you do not have
anymore space on your hard drive to be used as vitual memory. A larger
hard drive may help with your warning messages.

If you need your application to run faster (after you have eliminated
the virtual memory issues) then more physical memory is called for.

So...
Start by using "Task Manager >>> Performance" to see what your memory
usage is durring run time. If possible, upgrade your memory so you are
using physical memory only.

Well I realize that I have been rambling a bit so I should stop here.

So...
You probably need more physical memory.

Ben

Reply via email to