there's plenty of articles that explain the use of the /3GB startup switch. The general explanation is ..

Regardless of the amount of physical memory in your system, Windows uses a virtual address space of 4 GB, with 2 GB allocated to user-mode processes (for example, applications) and 2 GB allocated to kernel-mode processes (for example, the operating system and kernel-mode drivers). On systems that have 1 GB or more of physical memory, these two startup switches can be used to allocate more memory to applications (3 GB) and less memory to the operating system (1 GB).

Ok - that's not hard to understand. ... ... but is this a good thing for a Sql Server? Is the answer dependant upon how much total memory exists in the server?

For this discussion can we relate any answers to

  1. 4 GB ram
  2. 16 GB ram

... with a server containing Windows 2008 standard x64 + Sql Server 2008 x64. I hope the # of processors don't impact the answer :P

So i suppose i'm asking, does Sql Server require a lot of ram for OS + kernal mode drivers?

link|improve this question

I suggest you also to read answers to the similar question serverfault.com/questions/27352/… – Bogdan_Ch Jul 6 '09 at 9:50
feedback

2 Answers

up vote 13 down vote accepted

The /3GB switch does not apply to 64-bit editions of Windows

http://support.microsoft.com/kb/294418

Applications that are compiled with the /LARGEADDRESSAWARE option, as would be required to take advantage of the /3GB switch in 32-bit Windows, will automatically be able to address 4 GB of virtual memory without any boot time switches or changes to x64 Windows. Plus, of course, the operating system does not have to share that 4 GB of space. Therefore, it is not constrained at all

and

A pool of system Page Table Entries (PTEs) that is used to map system pages such as I/O space, Kernel stacks, and memory descriptor lists. 64-bit programs use a 16-terabyte tuning model (8 terabytes User and 8 terabytes Kernel). 32-bit programs still use the 4-GB tuning model (2 GB User and 2 GB Kernel). This means that 32-bit processes that run on 64-bit versions of Windows run in a 4-GB tuning model (2 GB User and 2GB Kernel). 64-bit versions of Windows do not support the use of the /3GB switch in the boot options. Theoretically, a 64-bit pointer could address up to 16 exabytes. 64-bit versions of Windows have currently implemented up to 16 terabytes of address space

link|improve this answer
feedback

With SQL Server the more memory the better. SQL Server will pretty much take what ever you can give it. You'll want to reserve at least 1 Gig for the OS, and leave the rest for SQL Server.

Because its the 64bit OS you won't need the 3GB or AWE switches for the OS.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.