Free Support Forum - aspose.com

Question regarding maximum amount of memory Aspose.Excel will access

We are generating some fairly large excel files using this component, and we are also running multiple processes using this component that can generate a lot of spreadsheets.

We have been having problems with this component once 2GB of memory is exausted. We are looking at Windows Task Manager, and after 2GB of memory is used on the server, the programs stop working.

We are using VB.NET to generate Windows Services to do the work. These services utilize the Aspose.Excel component.

Please let me know if the Aspose.Excel component can access memory above 2GB?

Thanks

What's the memory size in your machine? Aspose.Excel is a pure dotnet component and it utilizes .NET mechanism to allocate and free memory.

For your issue, I have the following ideas:

1. When memory is exausted, the program runs heavily slow. That make you think it stops working. I don't have a machine with 2GB memory. I only have a 512MB machine. When memory is exhausted, performance degrades heavily.

2. Is it possible your problem is caused by limitation of windows service? Could you try to convert your program to a console application to see what happens?

The memory size of our machine is 4GB (soon to be more).

Regarding the exaustion of memory, that's why we upgraded to a box that had more memory. We were running into the slowness on servers that had 512MB - 1GB of memory, so we decided to up the server memory to 4GB in an attempt to eleviate the issue.

I'm not sure about the Window Service being unable to access memory over 2GB. I'll have to look into it.

I guess since you don't have a machine with more than 2 GB of memory, then I'm not sure where that leaves us. I will tell you that our program(s) work when we stay below the 2GB line. However, when the exact same code attempts to go over the 2GB line, it stops working (i.e. the program goes immediately from 25% or more CPU to 0, and the memory usage stays right at 2GB).

I will try to find a machine with more memory to check this issue. But I think it may be a problem of windows or .NET. I found a similiar topic: http://www.bleedinedge.com/forum/showthread.php?t=14822 .

I think you can try to write a simple .NET program to consume memory over 2GB and see what will happen.

Memory is transparent to Aspose.Excel.

What's the OS in your machine? From http://www.stata.com/support/faqs/win/winmemory.html, you can see the following words:

Under all current 32-bit Windows operating systems (Windows 95, 98, ME, NT, 2000), the total available address space for any application is 2.1 GB. If you have a dataset larger than 2.1 GB, you will not be able to load it on Stata for Windows. This is simply a limitation of the operating system.

If you use other OS, please try to verify this limitation by your testing program.

Just as an update, the OS on our server is Windows Server 2003 Standard Edition.

I find it strange that the OS will recognize 4gb, but it seems I cannot access memory over 2gb.

Please let me know if you are able to test this component on a machine with more than 2GB. I would be interested to hear if you get the same result.

Some useful information can be accessed at http://www.brianmadden.com/content/content.asp?id=69 and http://www.brianmadden.com/forum/tm.aspx?m=2661 .

For your 4GB machine:

This 4GB space is evenly divided into two parts, with 2GB dedicated for kernel usage, and 2GB left for application usage. Each application gets its own 2GB, but all applications have to share the same 2GB kernel space.

I think to access memory over 2GB, you should have a 64 bit machine with 64 bit OS. I don't have such a machine and OS on hand.

Have you tried to access memory over 2GB with your own code without Aspose.Excel?

Generally, I think this is a limitation of OS.