Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: 2GB limit of memory for Oracle on WIndows 32 bit

Re: 2GB limit of memory for Oracle on WIndows 32 bit

From: BD <>
Date: Thu, 28 Jun 2007 14:25:47 -0700
Message-ID: <>

On Jun 28, 1:04 pm, wrote:
> On Jun 28, 2:15 pm, wrote:
> > On Thu, 28 Jun 2007 01:42:07 -0700, wrote:
> > >When /3GB switch is turned on, will all oracle instances (5 in my
> > >example) still have access only to 3GB memory combined or each
> > >instance will have limit of 3GB memory. Various metalink articels say
> > >this limit to be per instance so I am confused.
> > They are discussing *virtual* memory, not *physical* memory. As soon
> > as a system runs out of *physical* memory, it will swap memory it no
> > longer needs to disk. When this memory is needed again it will be read
> > from disk. This is called a page fault.
> > A disk is a *slow* device.
> > So, please, pray tell me, how desirable do you think it is to
> > configure 3 Gb *per instance*?
> > --
> > Sybrand Bakker
> > Senior Oracle DBA
> If my server has 8GB physical meory, it will be nice to make use of
> 8GB instead of restricted only to 3GB. I have seen
> so many articles which talk about 3GB or 2GB per instance
> restriction, but now I am told that is not correct, 3GB or 2GB
> restriction is all instances combined, so it is confusing. Apparently
> there is some restriction related to how much shared memory one can
> allocate on Windows Server, otherwise each instance should be able to
> address 2GB or 3GB (with /3GB switch).- Hide quoted text -
> - Show quoted text -

Windows 32-bit is a 32-bit os - which means you multiply 2 by itself 32 times, and you get the number of bytes of memory that it can access. It calculates out to 4294967296, which is the same as 4GB.

By default, Windows 32-bit keeps half of this available memory for its kernel processes - leaving only 2GB for other programs.

So that is *it*. That is all that Windows 32-bit can see (unless you use PAE). It has to allocate that memory to all of its processes. They all have to share that one chunk of memory.

The /3GB switch reduces the amount of memory used by the kernel from 2GB to 1GB, leaving 3GB for other programs.

NOT 3GB for each program. 3GB for ALL other programs together.

Now - if 32-bit Windows can see 4GB of memory directly, imagine how much 64-bit Windows could see.
18,446,744,073,709,551,616 bytes. Or thereabouts. Lots.

So if you need memory, get off of Windows 32-bit. Received on Thu Jun 28 2007 - 16:25:47 CDT

Original text of this message