1

We maintain a Web application which is basically a set ASP Classic pages loading COM Objects (through a homemade framework to avoid code duplication and excessive instance creation), running on IIS 6.2:

Dim stuffer: Set stuffer= CreateObject("StuffUtils.Stuffer")

Dim this: this= "this param"
Dim this: that= "this param"

stuffer.process this, that ' "Out of Memory" error occurs here

StuffUtils is a homemade .NET DLL with COM Interoperability and relies on a set of 3 huge DLL (purchased): a.dll (11M), b.dll (22M), c.dll (11M). The call above would be:

page.asp --> stuffer.stuff() --> c.dll calls and instantiations

The call stuffer.process() fails and the message Out of memory occurs, but only for one IIS installation (and, of course, the client's one, which is quite unreachable) and for one specific case (!). It's fine on ours. Also, if the dll is called from a command line application, it runs file even on the client server (in a CMD window).

I guess the error message might be related to the loading of those huge DLLs, however the error occurs at the method call, not at the server component creation. Did I miss an entry in the IIS configuration?

10
  • I guess IIS process is running 32-bit? have you checked the memory of that specific process. Commented Jun 28, 2019 at 9:18
  • @SimonMourier IIS runs in a 64-bit OS but the DLL is 32-bit. You mean I should check the process usage with the task manager ? Commented Jun 28, 2019 at 9:33
  • You can't have a 32 bit dll loaded in a 64 bit process. So it means your IIS process (w3p.exe?) runs as 32-bit. A real out of memory is very possible. Commented Jun 28, 2019 at 10:33
  • @SimonMourier, thank you. So I'll should check the memory usage. What do tool do you recommend? Moreover, is there a way to increase the memory limit? Commented Jun 28, 2019 at 15:47
  • Task Manager is the most simple (and quite inexact) tool. No there's no way, if you really have memory limit, migrate to 64bit, or tune your code. Google for "asp classic memory profiler" for example. Commented Jun 28, 2019 at 16:06

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.