Prashant
Prashant

Reputation: 2192

.Net Memory limit

I have a .Net application running on a 32 bit box. The application is a windows service. It consistently hovers around 600-800 MB range. Is this a problem. If an application crosses 1 GB, is it a memory issue ?

Upvotes: 2

Views: 1972

Answers (4)

mcabral
mcabral

Reputation: 3558

It's hard to tell if that memory usage is a problem.

A few questions i would try to answer:

  • Are those numbers expected?
  • Do you know where all that memory is going?
  • If those numbers are correct, is your solution scalable memory-wise?
  • Does that memory allocation stay constant if any initial condition is changed?
  • Can your server/client hardware provide all that memory? What if you have multiple executions?

If you find a 'No' in any answer, i'll start considering it a problem. The same goes for the 1 GB issue.

EDIT: fixed some typos

Upvotes: 2

kemiller2002
kemiller2002

Reputation: 115538

Using 1 Gig should be fine. Here is a link to a question about the maximum amount of memory a .net object can use:

.NET Max Memory Use 2GB even for x64 Assemblies

Upvotes: 2

Reed Copsey
Reed Copsey

Reputation: 564891

You won't run into any problems crossing 1GB.

However, if your application is targetting x86 directly, or running on 32bit Windows, you will run into problems somewhere between 1.2-1.6GB. .NET applications, when running as 32bit applications, tend to start receiving out of memory errors in this range (and not at 2GB, which would be what you'd typically expect).

That being said, if your application has a good reason to be using that much memory, and is staying under 1GB consistently, this should have no issues.

Upvotes: 2

Lucero
Lucero

Reputation: 60276

No, that's perfectly fine if the host has enough memory. You may want to monitor the full GC runs however; full garbage collections should not occur very often (once in a while, for sure not every few seconds) and if they do this indicates that the process is running on its memory limit and "wastes" too much time trying to recover memory, which ultimately slows down the process a lot.

Upvotes: 2

Related Questions