Memory problem in calling unmanaged DLL



Hi all,

In one of my projects which is a web based application in, a
third party tool - "Frontline Solver DLL" (It is an unmanaged DLL and
..NET is calling it using the PInvoke) is used. This DLL is used for
solving and optimizing some non linear problems.

Problem : The problem I am facing is as the solver runs and does the
optimization the memory usage of the aspnet_wp.exe process keeps on
increasing gradually. The memory does not come down even after the
optimization is complete till aspnet_wp.exe is manually killed from
task manager. Sometimes, the solver stops in between once the memory
has increased considerably. But no specific pattern is present for the

Cause : The solver DLL is not freeing the memory which is unmanaged
memory (even after calling the functions to free the same). Also the
Garbage collector is not collecting managed memory as soon as the
optimization stops as garbage collection takes place at its own

Tried outs :

Freed the unmanaged memory calling the

Freed the memory calling GC.Collect()

Increased the RAM of system, but still the problem persists i.e.
stopping of the solver in between.

Increased the Virtual Memory to 3 GB in boot.ini

In Machine.Config, tried out by changing the memory limit to 80% as
well as 40%

Look-for : Want to know some way of cleaning the memory when the web
application is still open but the optimization is complete. So that
once the solver is run again, it does not add to already increased

Hoping to get some response.
Thanks in advance.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Latest member

Latest Threads