Re: maximum .net process can use
- From: "Willy Denoyette [MVP]" <willy.denoyette@xxxxxxxxxx>
- Date: Wed, 18 Jan 2006 21:36:35 +0100
W2K and higher (32 bit OS) supports 16 page files of max. 4GB each. Anyway
you should not set this page file size higher than 3~4GB on a server with
only 2GB RAM.
As I said before a 32 bit windows app. can only use 2GB of Virtual Address
Space, if you think you need this 2GB for one single process, you will
probably need more than 2GB of RAM or you have to accept the possible paging
overhead, but all this is subject to "measure and tune".
Willy.
"Zen" <zen@xxxxxxxxxxxxxx> wrote in message
news:utP9XWGHGHA.2440@xxxxxxxxxxxxxxxxxxxxxxx
| Thanks for you input. Yes, I realized that my page file size was low too,
I
| was surprised that Win2000 didn't automatically change the page file size
to
| take advantage of the max page file size set. Occasionally my page swap
| rate jumped up to 40-50/sec. I'm still wondering about the max size
Windows
| can utilize to serve a resource intensive process, a few things I found:
| 1) On Win2000, max page file is 4G so 4G physical max then.
| 2) On XP, there isn't limitation - I attempted to set it up to 12G and it
| allowed me (I asked me to reboot and I haven't got a chance to do that
| though). Does anyone know the limit? Assume that I have $ to max out XP
| capability to avoid those page swaps.
|
| -thinh
|
|
| "Willy Denoyette [MVP]" <willy.denoyette@xxxxxxxxxx> wrote in message
| news:uwMYnSFHGHA.528@xxxxxxxxxxxxxxxxxxxxxxx
| >
| > "Zen" <zen@xxxxxxxxxxxxxx> wrote in message
| > news:uRKqXqEHGHA.2012@xxxxxxxxxxxxxxxxxxxxxxx
| > |I used taskmanager that came with window to look at the memory usage
| > info.
| > |
| > | Would it help if I add another G or 2 to the server?
| >
| >
| > No, it won't help you at all, unless you have a high paging rate.
| >
| > Apparently each process
| > | can use only up to 2G max of memory, but other items including the OS
| > itself
| > | would occupy a big junk of total memory leaving less memory for the
| > asp.net.
| > | I don't know the answer the question to that because the following 2
| > items
| > | contradicting to each other:
| > | 1) With virtual memory system and enough harddisk space, the asp.net
| > process
| > | is already virtually working with 2G of memory, so adding physical
| > memory
| > | would only speed up (less swapping with page faults) but woudn't help
| > | reducing OOM exception likelihood. My max page file size on harddisk
is
| > | 1.5G.
| >
| > Did you measure the paging rate? Your paging file is too small anyway,
it
| > should be larger than physical memory, and it should be large enough to
| > hold
| > all 'dirty' datapages of the total of all processes. That means that the
| > OS
| > can never allocate more data segments (as the GC does) than the size of
| > the
| > paging file, the system will OOM at allocation time when it's not able
to
| > back-up the dirty pages to the paging file.
| >
| >
| >
| >
| > | 2) However, when I moved from 1G to 2G physical memory, the system no
| > longer
| > | ran into OOM as often as before. With 1G, it could never load all my
| > data
| > | into memory for processing without seeing OOMs. Apparently adding
more
| > | physical memory did help.
| > |
| >
| > Yes, now I see why your page file is 1.5GB only, you didn't change it's
| > size
| > wen you moved from 1GB to 2GB.
| >
| > | To rephrase my original question, if I can afford any memory size I
| > want,
| > | which amount would be the max I can benefit from? There must be a
| > stopping
| > | point somewhere. I thought it was 2G but I could be wrong and hoping
| > that
| > | I'm wrong because making my code to work with smaller memory amount
| > would
| > be
| > | very costly.
| > |
| >
| > First thing to do is increase your page file size (make it 3GB), and
watch
| > your paging consumption and the paging rate using perfmon (don't use
| > taskman
| > for this). If you still incur OOM's, profile your application and check
| > your
| > allocation patterns carefully, watch for containers like ArrayList, they
| > grow exponentially and the are a pain in the a** when they become larger
| > than 85KB. Watch your memory fragmentation level when profiling or
| > debugging. Memory fragmentation cannot be solved by adding memory.
| > Watch your unmanaged memory counters and your unmanaged resources, make
| > sure
| > you are disposing correctly.
| > You should ONLY add RAM when the paging rate is realy too high and
becomes
| > a
| > performance bottleneck. Don't extend above 3GB if you can it's a waste
of
| > money on 32 bit OS.
| >
| >
| > Willy.
| >
| >
|
|
.
- Follow-Ups:
- Re: maximum .net process can use
- From: Zen
- Re: maximum .net process can use
- References:
- maximum .net process can use
- From: Zen
- Re: maximum .net process can use
- From: Willy Denoyette [MVP]
- Re: maximum .net process can use
- From: Zen
- Re: maximum .net process can use
- From: Willy Denoyette [MVP]
- Re: maximum .net process can use
- From: Zen
- maximum .net process can use
- Prev by Date: Re: Can I Use HTML Text Writer i a Custom Control to Render the <head> Section?
- Next by Date: Re: Activate minimized form
- Previous by thread: Re: maximum .net process can use
- Next by thread: Re: maximum .net process can use
- Index(es):
Relevant Pages
|