Win 2003 Srv Standard x 64 /sql2005 x64 and > 2GB RAM

Discussion in 'Windows 64bit' started by bill, Feb 27, 2006.

  1. bill

    bill Guest

    We will be buying a Proliant DL385 which runs Windows 2003 Server Standard
    x64 edition. We will install sql 2005 x64 standard edition and 8GB of RAM
    (to start). Do we need to enable the "/3GB? switch or"PAE" for sql to
    recognize this extended memory space. Or will it happen automatically in a
    64 bit world?

    TIA,
    Bill
    bill, Feb 27, 2006
    #1
    1. Advertising

  2. bill

    Rob Perkins Guest

    bill wrote:
    > We will be buying a Proliant DL385 which runs Windows 2003 Server Standard
    > x64 edition. We will install sql 2005 x64 standard edition and 8GB of RAM
    > (to start). Do we need to enable the "/3GB? switch or"PAE" for sql to
    > recognize this extended memory space. Or will it happen automatically in a
    > 64 bit world?


    One supposes that an x64 edition of SQL Server 2005 will have little
    problem addressing 16 terabytes of virtual memory space, and the 32-bit
    programs with LARGEADDRESSAWARE flags on them will get 4 GB of space.
    Naturally your performance will degrade to unacceptability well before
    you reach the 16 terabyte boundry... :)

    See http://www.microsoft.com/windowsxp/using/64bit/russel_exploringx64.mspx

    Rob
    Rob Perkins, Feb 27, 2006
    #2
    1. Advertising

  3. You do not need to add any switches whatsoever to see far more than 2 GB of
    virtual memory address space. You'll actually have a full 8 terrabytes of
    virtual memory address space to work with, and since SQL Server is the x64
    edition, it will be able to directly address all of that.

    For clarity - 32-bit applications can address 2 GB of virtual memory
    directly if they are ordinary 32-bit applications. But 32bit applications
    that have been written and compiled to support more memory (via the /3GB
    switch) will automatically see a full 4GB of virtual memory with no switches
    required.

    --
    Charlie.
    http://msmvps.com/xperts64

    bill wrote:
    > We will be buying a Proliant DL385 which runs Windows 2003 Server Standard
    > x64 edition. We will install sql 2005 x64 standard edition and 8GB of RAM
    > (to start). Do we need to enable the "/3GB? switch or"PAE" for sql to
    > recognize this extended memory space. Or will it happen automatically in a
    > 64 bit world?
    >
    > TIA,
    > Bill
    Charlie Russel - MVP, Feb 27, 2006
    #3
  4. Actually, they only get to see 8 TB - the other 8 TB is reserved for the OS.
    But I don't think we need to worry yet. ;)

    --
    Charlie.
    http://msmvps.com/xperts64

    Rob Perkins wrote:
    > bill wrote:
    >> We will be buying a Proliant DL385 which runs Windows 2003 Server
    >> Standard x64 edition. We will install sql 2005 x64 standard edition and
    >> 8GB of RAM (to start). Do we need to enable the "/3GB? switch or"PAE" for
    >> sql to recognize this extended memory space. Or will it happen
    >> automatically in a 64 bit world?

    >
    > One supposes that an x64 edition of SQL Server 2005 will have little
    > problem addressing 16 terabytes of virtual memory space, and the 32-bit
    > programs with LARGEADDRESSAWARE flags on them will get 4 GB of space.
    > Naturally your performance will degrade to unacceptability well before
    > you reach the 16 terabyte boundry... :)
    >
    > See
    > http://www.microsoft.com/windowsxp/using/64bit/russel_exploringx64.mspx
    > Rob
    Charlie Russel - MVP, Feb 27, 2006
    #4
  5. bill

    Rob Perkins Guest

    Charlie Russel - MVP wrote:
    > Actually, they only get to see 8 TB - the other 8 TB is reserved for the OS.
    > But I don't think we need to worry yet. ;)


    That's what we all said about 2 GB of virtual memory, back in the day.
    Three years ago, one of my customers crossed it.

    So, yeah, maybe with Windows Vista R10?

    Rob, who tries hard to keep up with Microsoft product naming schemes...
    Rob Perkins, Feb 27, 2006
    #5
  6. bill

    bill Guest

    >>
    > Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    > OS.
    >>


    Now I am a bit confused. sql 2005 x64 will only get to see half of the
    installed RA? (8GB in or case) and the other 8GB of RAM is reserved for the
    Win 2003 x64 OS? I'd like Sql to have access to at least 12GB or the 16GB.

    Bill

    "Charlie Russel - MVP" <> wrote in message
    news:...
    > Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    > OS. But I don't think we need to worry yet. ;)
    >
    > --
    > Charlie.
    > http://msmvps.com/xperts64
    >
    > Rob Perkins wrote:
    >> bill wrote:
    >>> We will be buying a Proliant DL385 which runs Windows 2003 Server
    >>> Standard x64 edition. We will install sql 2005 x64 standard edition and
    >>> 8GB of RAM (to start). Do we need to enable the "/3GB? switch or"PAE"
    >>> for sql to recognize this extended memory space. Or will it happen
    >>> automatically in a 64 bit world?

    >>
    >> One supposes that an x64 edition of SQL Server 2005 will have little
    >> problem addressing 16 terabytes of virtual memory space, and the 32-bit
    >> programs with LARGEADDRESSAWARE flags on them will get 4 GB of space.
    >> Naturally your performance will degrade to unacceptability well before
    >> you reach the 16 terabyte boundry... :)
    >>
    >> See
    >> http://www.microsoft.com/windowsxp/using/64bit/russel_exploringx64.mspx
    >> Rob

    >
    >
    bill, Feb 27, 2006
    #6
  7. Notice I didn't say we didn't need to worry ever! I've been around since the
    days when 64 Kb was considered a huge machine. :)

    --
    Charlie.
    http://msmvps.com/xperts64

    Rob Perkins wrote:
    > Charlie Russel - MVP wrote:
    >> Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    >> OS. But I don't think we need to worry yet. ;)

    >
    > That's what we all said about 2 GB of virtual memory, back in the day.
    > Three years ago, one of my customers crossed it.
    >
    > So, yeah, maybe with Windows Vista R10?
    >
    > Rob, who tries hard to keep up with Microsoft product naming schemes...
    Charlie Russel - MVP, Feb 27, 2006
    #7
  8. Keep in mind here we're talking apples and oranges. Virtual Memory Address
    space is the amount of virtual memory that can be directly addressed. It is
    8 terrabytes in x64 - way more than your 8, 12 or even 16 gigabytes. RAM is
    the physical RAM on your machine. It is limited by the version of Windows
    you run more than by the address space. The operating system needs a certain
    amount of address space, and RAM, to work, obviously. But it needs a much
    larger address space than it needs RAM. So not to worry.

    --
    Charlie.
    http://msmvps.com/xperts64

    bill wrote:
    >> Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    >> OS.
    >>>

    >
    > Now I am a bit confused. sql 2005 x64 will only get to see half of the
    > installed RA? (8GB in or case) and the other 8GB of RAM is reserved for
    > the Win 2003 x64 OS? I'd like Sql to have access to at least 12GB or the
    > 16GB.
    > Bill
    >
    > "Charlie Russel - MVP" <> wrote in message
    > news:...
    >> Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    >> OS. But I don't think we need to worry yet. ;)
    >>
    >> --
    >> Charlie.
    >> http://msmvps.com/xperts64
    >>
    >> Rob Perkins wrote:
    >>> bill wrote:
    >>>> We will be buying a Proliant DL385 which runs Windows 2003 Server
    >>>> Standard x64 edition. We will install sql 2005 x64 standard edition and
    >>>> 8GB of RAM (to start). Do we need to enable the "/3GB? switch or"PAE"
    >>>> for sql to recognize this extended memory space. Or will it happen
    >>>> automatically in a 64 bit world?
    >>>
    >>> One supposes that an x64 edition of SQL Server 2005 will have little
    >>> problem addressing 16 terabytes of virtual memory space, and the 32-bit
    >>> programs with LARGEADDRESSAWARE flags on them will get 4 GB of space.
    >>> Naturally your performance will degrade to unacceptability well before
    >>> you reach the 16 terabyte boundry... :)
    >>>
    >>> See
    >>> http://www.microsoft.com/windowsxp/using/64bit/russel_exploringx64.mspx
    >>> Rob
    Charlie Russel - MVP, Feb 27, 2006
    #8
  9. Charlie Russel - MVP wrote:

    >Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    >OS. But I don't think we need to worry yet. ;)


    Hmmm, wonder if MS will still be recommending a PageFile of 1.5 x RAM by
    then... <g>

    --
    Steve Foster [SBS MVP]
    ---------------------------------------
    MVPs do not work for Microsoft. Please reply only to the newsgroups.
    Steve Foster [SBS MVP], Feb 27, 2006
    #9
  10. bill

    Rob Perkins Guest

    Charlie Russel - MVP wrote:
    > Keep in mind here we're talking apples and oranges. Virtual Memory Address
    > space is the amount of virtual memory that can be directly addressed. It is
    > 8 terrabytes in x64 - way more than your 8, 12 or even 16 gigabytes. RAM is
    > the physical RAM on your machine. It is limited by the version of Windows
    > you run more than by the address space. The operating system needs a certain
    > amount of address space, and RAM, to work, obviously. But it needs a much
    > larger address space than it needs RAM. So not to worry.


    Oh yeah; I had to explain this once to a Unix guy. Refine me where I get
    this wrong, OK?

    Your computer has 8 GB RAM. The BIOS "sees" 8 GB.

    The operating system sees 8 GB RAM PLUS the size of your virtual memory
    swapfile. Probably 4 GB disk space, for a total "commit charge" capacity
    of 12 GB RAM. So, the OS "sees" 12 GB. Sort of. It knows that there are
    12 GB of "memory page" space out there to assign to itself or to running
    programs.

    Your *programs*, no matter the address word size (32 bit or 64 bit) care
    nothing for that. In Win32 they "see" (sort of) a subset of 2 GB,
    roughly 1/6 of all the memory resources on your computer. In Win64, they
    "see" (again, sort of) a subset of 8 TB, roughly *4000 times* the
    memory resources actually available to them.

    The Windows operating system contains a "Virtual Memory Manager", and
    makes use of a "Memory Management Unit" in your hardware which
    translates between what the BIOS sees, and what the OS sees, and what
    your program actually gets to use.

    (By now, a good picture or two is commonly in order. The Wikipedia entry
    for "Virtual Memory" is decent enough for that.)

    Usually, programs get access to this memory by invoking magic, um, I
    mean "malloc", or something like it, which asks the operating system to
    set all this up. When the OS returns with information about a block of
    memory, it gives the program a number corresponding to the starting
    location of that memory, or it returns a failure code; an explanation
    why the program can't have that memory it just asked for.

    (Don't let's get started discussing thread-local memory, or locked
    memory, or memory-mapped files, or the differences between code and data
    segments of memory. Pay no attention to the MMU behind the curtain!)

    This is a long winded way of saying that in 32-bit Windows, each of your
    programs "sees" 4 GB of memory, 2 GB of which contains neat things
    like the locations of all the Windows API calls, all the device driver
    entrypoints, other stuff. The other 2 GB contains the program and the
    data for the program.

    Back in the early 90's, when Windows NT was beginning to be something,
    was when this scheme was hatched up. Recall at the time that servers
    usually had 64 MB of RAM in them, and a 200 MB hard disk, meaning that
    each program running under NT had a 2 GB space, to be sure, but only 4%
    of that potential was backed up by hardware resrouces.

    Which meant that it was going to be impossible for years and years to
    reach the limits of an NT-based memory management system.

    Well, we did (and it did take years and years, so they were not wrong!)
    My company's products can get there, any midsize database management
    system as well. So along comes Windows x64...

    ....which uses the same ideas, only instead of a 2 GB space for your
    programs, you get 8 "terabytes", roughly 4000 times the addressable
    space for programs as you got with NT/2000/XP-IA32. However, your
    hardware will only provide programs with less than 0.1% of that potential.

    This is the same class of problem as we all encountered back when we
    started installing 2 MB of memory into 386 PC's; we'd reached DOS's 640
    Kbyte limitation, and started to whine. Today, the transition is
    markedly easier than then; emulators are soooo much better.

    Rob
    Rob Perkins, Feb 28, 2006
    #10
  11. <g>

    --
    Charlie.
    http://msmvps.com/xperts64

    Steve Foster [SBS MVP] wrote:
    > Charlie Russel - MVP wrote:
    >
    >> Actually, they only get to see 8 TB - the other 8 TB is reserved for the
    >> OS. But I don't think we need to worry yet. ;)

    >
    > Hmmm, wonder if MS will still be recommending a PageFile of 1.5 x RAM by
    > then... <g>
    Charlie Russel - MVP, Feb 28, 2006
    #11
  12. <ROFLU>

    Good explanation.

    One additional comment - the cost of access to "memory" that is directly
    addressable (ie, has an address in that 2 GB or 8 TB of address space) is an
    order of magnitude less than one that has to be retreived from some database
    and then assigned an address. Even though both could, potentially, require
    going to the disk to get it. See the deployment scenarios whitepaper I did
    for the launch of x64 Server for some examples where this made a dramatic
    change.

    --
    Charlie.
    http://msmvps.com/xperts64

    Rob Perkins wrote:
    > Charlie Russel - MVP wrote:
    >> Keep in mind here we're talking apples and oranges. Virtual Memory
    >> Address space is the amount of virtual memory that can be directly
    >> addressed. It is 8 terrabytes in x64 - way more than your 8, 12 or even
    >> 16 gigabytes. RAM is the physical RAM on your machine. It is limited by
    >> the version of Windows you run more than by the address space. The
    >> operating system needs a certain amount of address space, and RAM, to
    >> work, obviously. But it needs a much larger address space than it needs
    >> RAM. So not to worry.

    >
    > Oh yeah; I had to explain this once to a Unix guy. Refine me where I get
    > this wrong, OK?
    >
    > Your computer has 8 GB RAM. The BIOS "sees" 8 GB.
    >
    > The operating system sees 8 GB RAM PLUS the size of your virtual memory
    > swapfile. Probably 4 GB disk space, for a total "commit charge" capacity
    > of 12 GB RAM. So, the OS "sees" 12 GB. Sort of. It knows that there are
    > 12 GB of "memory page" space out there to assign to itself or to running
    > programs.
    >
    > Your *programs*, no matter the address word size (32 bit or 64 bit) care
    > nothing for that. In Win32 they "see" (sort of) a subset of 2 GB,
    > roughly 1/6 of all the memory resources on your computer. In Win64, they
    > "see" (again, sort of) a subset of 8 TB, roughly *4000 times* the
    > memory resources actually available to them.
    >
    > The Windows operating system contains a "Virtual Memory Manager", and
    > makes use of a "Memory Management Unit" in your hardware which
    > translates between what the BIOS sees, and what the OS sees, and what
    > your program actually gets to use.
    >
    > (By now, a good picture or two is commonly in order. The Wikipedia entry
    > for "Virtual Memory" is decent enough for that.)
    >
    > Usually, programs get access to this memory by invoking magic, um, I
    > mean "malloc", or something like it, which asks the operating system to
    > set all this up. When the OS returns with information about a block of
    > memory, it gives the program a number corresponding to the starting
    > location of that memory, or it returns a failure code; an explanation
    > why the program can't have that memory it just asked for.
    >
    > (Don't let's get started discussing thread-local memory, or locked
    > memory, or memory-mapped files, or the differences between code and data
    > segments of memory. Pay no attention to the MMU behind the curtain!)
    >
    > This is a long winded way of saying that in 32-bit Windows, each of your
    > programs "sees" 4 GB of memory, 2 GB of which contains neat things
    > like the locations of all the Windows API calls, all the device driver
    > entrypoints, other stuff. The other 2 GB contains the program and the
    > data for the program.
    >
    > Back in the early 90's, when Windows NT was beginning to be something,
    > was when this scheme was hatched up. Recall at the time that servers
    > usually had 64 MB of RAM in them, and a 200 MB hard disk, meaning that
    > each program running under NT had a 2 GB space, to be sure, but only 4%
    > of that potential was backed up by hardware resrouces.
    >
    > Which meant that it was going to be impossible for years and years to
    > reach the limits of an NT-based memory management system.
    >
    > Well, we did (and it did take years and years, so they were not wrong!)
    > My company's products can get there, any midsize database management
    > system as well. So along comes Windows x64...
    >
    > ...which uses the same ideas, only instead of a 2 GB space for your
    > programs, you get 8 "terabytes", roughly 4000 times the addressable
    > space for programs as you got with NT/2000/XP-IA32. However, your
    > hardware will only provide programs with less than 0.1% of that potential.
    >
    > This is the same class of problem as we all encountered back when we
    > started installing 2 MB of memory into 386 PC's; we'd reached DOS's 640
    > Kbyte limitation, and started to whine. Today, the transition is
    > markedly easier than then; emulators are soooo much better.
    >
    > Rob
    Charlie Russel - MVP, Feb 28, 2006
    #12
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?dGhlZW5leQ==?=

    2003 sp1 blue screen srv.sys

    =?Utf-8?B?dGhlZW5leQ==?=, Apr 21, 2005, in forum: Microsoft Certification
    Replies:
    0
    Views:
    1,873
    =?Utf-8?B?dGhlZW5leQ==?=
    Apr 21, 2005
  2. b

    RAM - 2gb becomes 4gb becomes 2gb

    b, Apr 27, 2006, in forum: Computer Support
    Replies:
    10
    Views:
    752
    Jimchip
    Apr 28, 2006
  3. cmk
    Replies:
    2
    Views:
    458
  4. Tarvirdi
    Replies:
    2
    Views:
    931
    Doug Forster
    Nov 10, 2008
  5. Martin Knauer
    Replies:
    1
    Views:
    1,065
    Martin Knauer
    Jul 7, 2009
Loading...

Share This Page