Added /3GB And OS Will Not Start - Why?

  • Here is a new one for me.  I added the /3GB switch to the boot.ini, restarted the server and now receive a number of messages when the OS tries to load.

    Explorer.exe - Application Error

    The application failed to initialize properly. 

    If I click OK the server sits on a blue screen with no information on the screen. 

    The other messages are the result of me trying to do anything within Task Manager, with the exception of rebooting the server.  These messages make sense since Explorer.exe had a problem.

    The server has the following configuration.

    HP DL580

    Windows Server 2003 Enterprise Edition - SP2

    SQL Server 2000 Enterprise Edition - SP3a

    14GB Memory

    (4) dual core procs

    PAE is enabled in the boot.ini

    If I remove the /3GB the OS starts without a problem.  Any suggestions?

    Thanks,   Dave

  • Hi Dave,

    I've done this settings once too many times and not ever encounter any issue. Where's the place where you add the switch?

    Below is the snippet of boot.ini from one of my server.

    [operating systems]

    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /3GB /PAE /fastdetect

    Strange indeed. Do post back if you've managed to solve it or found out something.

    Simon

    Simon Liew
    Microsoft Certified Master: SQL Server 2008

  • Here's what I've entered.  It's no different then how I've done it in the past with other servers.

     

    [boot loader]

    timeout=30

    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

    [operating systems]

    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE /3GB

  • I wouldn't normally use both /PAE and /3GB. If you use /3GB you leave only 1Gb for the OS. If you are also using PAE, then out of that 1Gb comes a chunk which is needed to map memory above 4Gb, hence not enough memory left to run your OS.

  • I need to use PAE in order to access more then 4GB of memory.  I've read it is ok to use /3GB provided the physical memory is less then 16GB.  I don't typically use /3GB for the reason you mention regarding restricting kernel mode memory to 1GB, but have read Microsoft's recommendations as well as statements by Kalen Delaney which indicate it is usually safe to use, assuming a dedicated database server.  The problem is a database server in our environment is not technically dedicated due to virus software, security software, replication software, etc...

    Thanks,    Dave

  • Dave,

    I do agree with you and its OK to enable /3GB switch on server with less than 16GB memory. Its what recommended by M$ as well. I'd say the 3GB of the user-mode memory is just too valuable not to be given to SQL on a dedicated box.

    I've had few issues with server rebooting itself automatically (event viewer logged a bugcheck error) but it was /PAE related. It was because an unpatch Windows 2003 and PAE is not stable. But then, SP1 resolved it.

    By the way, Intel processor, starting with Pentium Pro and later support PAE. You're not by chance using AMD? All I'm saying is that I know Intel processor support PAE but not sure if AMD does the same.

    A few place to get hints is obviously event viewer, and if the server crashes, you'll get memory dump info in C:\WINNT\MEMORY.DMP folder. There's a tool provided by M$ dumpchk.exe to help determine which process might've cause the server crash and probably this helps in your checking.

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

    I really cant think of much suggestions except there might be something wrong with the OS build or hardware related. Its an interesting issue you've got there.

    Please do post the solution if you manage to solve it.

    Simon

    Simon Liew
    Microsoft Certified Master: SQL Server 2008

  • Thanks Simon.  I spoke with Microsoft regarding the issue and their OS engineer and SQL engineer both recommended I not use the /3GB switch.  The OS engineer said, outside of SQL Server, he was aware of a number of problems caused by the use of the switch due to only 1GB being allocated to kernel mode memory.  When I provided him with some Microsoft links indicating it is ok to use with SQL Server he got me in touch with a SQL engineer.  The SQL guy said he knows MS has articles indicating it is ok to use the switch, but he recommends not using it with PAE due to problems he has seen.  His argument was the lack of memory allocated to the kernel (1GB) usually outways any benefits provided to the user mode (3GB of memory).

    So either this was Microsoft's way of telling me they don't know why our server will not restart when /PAE and /3GB are used together or perhaps their documentation is not correct.  Who knows what to believe?  I can probably speak with a different engineer who will argue for the use of /3GB.

    He also commented on a question regading the size of a pagefile for servers with a large amount of memory.  MS recommends the pagefile be 1.5 to 3 times the size of physical memory.  However with SQL Server and AWE, this is not necessary.  The only reason to follow this rule is if you want to capture a memory dump.  AWE is essentially non-pageable and only index and data pages are stored in AWE.  But this is a different topic...

    Dave

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply