none
HIgh memory and CPU utilization. Please suggest required RAM and processor. RRS feed

  • Question

  • We have VMware virtual servers on top of ESX physical server. There are three SQL server 2005 64bit instances running on the virtual server1. Instance 1 & 2 are empty as of now and third instance is hosting Microsoft Office SharePoint server databases. These three instances are in two node Windows server 2003 clustered environment. Both the nodes are VMware virtual servers.

    We are facing high memory (more than 95%) and CPU utilization (shooting up to 100%).
    1. Page Faults are high on the server.

        - There is a service named "wmiprvse.exe" for which the page faults and memory utilization is too high.

        - And Whenever the service wmiprvse.exe runs it shoots  the CPU utilization to 100 %.

     2. The memory allocated to the VM server is 3.75GB and has one processor. We have the default min memory set to 128 MB and max memory is unlimited. 

     

    Can you please recommend total memory required for three SQL server 2005 instances to run including memory required for OS? Also suggest no. of processors required for optimal operation of server.

     

     

     

    Thursday, August 27, 2009 7:25 PM

Answers

  • To start with read my recent blog post:

    Troubleshooting the SQL Server Memory Leak (or Understanding SQL Server Memory Usage)

    Then you are going to have to rethink how you have built this completely.  First, to have multiple instances of SQL Server on the same machine, whether it be a VM or a physical server is going to require multiple processors, a minimum of 1 per instance and one for the OS to minimize context switching.  Then you need to factor memory in for each instance which depends on size of database and type of workload that the instance will see.  For a 64 bit server minimum 2-4GB per instance and that is a bare minimum.  I personally run a lot of SQL inside of VMWare and have for going on 4 years now with great success, but I have not had good results running multiple instances inside of a VM.  At that point you should just put up another VM. 

    If your goal is saving license costs, then your best option would be to run physical on a scaled up cluster that had dual quad core processors and 32-64 GB of RAM, which can then allocated to the instances with affinity masking and the use of max server memory as needed to accomodate the workload.  If you are using VM's for DR strategy planning with SAN replication, you can still accomplish that with physical machines by using Boot From SAN technology and having identical cluster servers at your DR site.
    Jonathan Kehayias
    http://sqlblog.com/blogs/jonathan_kehayias/
    http://www.twitter.com/SQLSarg
    http://www.sqlclr.net/
    Please click the Mark as Answer button if a post solves your problem!
    Thursday, August 27, 2009 7:38 PM
    Moderator