Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|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

2 Answers 2

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

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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