SQL 2008 / Win 2008 virtual memory practice

  • Just have a quick question. I have two SQL machines, both = dedicated, 2xCPU, Windows 2008 R2 with SQL 2008 SP1, very small Database and less than ten databases at this stage.

    SQL01 - 72G RAM - 72G HDD - Virtual Memory = auto managed @ best for background process, recommended = 110G HDD space, currently allocated = 17G (Kernal Memory dump)

    SQL02 - 48G RAM - 72G HDD - Virtual Memory = auto managed - best for background process, recommended = 73G HDD space, currently allocated = 50G (Kernal Memory dump)

    As you can see, both of them are set for auto management, but the actual allocation are very different. And due to the 50G allocation, SQL02 actually are having some issues as the physical HDD free space is less than 4G... not sure if the performance issue is related to the low disk space, any advice would be greatly appreciated.

    I am just wondering if anyone can give me a quick advice on why are the actual allocation of the Virtual Memory (HDD space) are different and how I should configure the settings in this situation,

    The actual SQL data are running off a SAN over iSCSI, should i move the Virtual Memory (HDD space required) to SAN where more space is available?

    Would the other services installed on the machine contribute to more recommended VM size? e.g. DNS / Domain Controller...etc?

    Thanks.

  • So, corrct me if I am wrong, but you have only a c drive for this machine(s) and this is where the database, logs,windows...all live? If this is the case, you really need to split it up.

    If you already do have it on different drives, what are you going to do when the db's get big or if the server is going to host some large databases. You have no room to grow.

    Sorry for the nonanswer answer, but you have these awesome servers, but no storage. Does help too much if you calculate the same 5 things really fast.

  • I believe the OP is saying that the databases are on SAN, not local disks.

    Need some more information to answer the original question, but assuming you're using SQL 2008 Enterprise Edition 64-bit and have enabled processes to lock pages in memory (please note this article incorrectly states that this is not applicable to 64-bit versions) then all of the memory allocated to SQL Server is not page-able and therefore the portion of the memory allocated to SQL Server does not need to be included in sizing requirements for Virtual Memory.

    You can lock pages in memory on other editions/32-bit as well, but there are other configuration steps necessary.

    Also, as memory gets larger, the old rule of thumb of allocating 1.5*memory to Virtual Memory is less relevant. It depends on what other processes run on the servers etc, but assuming you're leaving a reasonable amount of memory free for the O/S, 50-75% of the remaining memory (after subtracting SQL Server's usage) should be more than adequate.

Viewing 3 posts - 1 through 2 (of 2 total)

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