• Are there going to be any other machines running on the host? How critical is this vm? The way to guarantee resources in VMWare is with reservations. You didn't mention any of the host resources, or the resources for the second vm.

    You need to make sure the host has the minimum resources to function.

    http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp?topic=/com.vmware.vsphere.resourcemanagement.doc_40/managing_memory_resources/c_understanding_memory_overhead.html

    Here are some recommendations from Brent Ozar on the guest.

    http://www.brentozar.com/archive/2012/11/how-to-set-sql-server-max-memory-for-vmware/[/url]

    When we build new virtual machines, we need to come up with three numbers:

    •The guest’s memory – this is the amount of memory the guest thinks it has when it starts up. Let’s say we’re building a virtual machine with 32GB of memory.

    •SQL Server’s max memory – I like to set this to leave 4GB of memory for the OS or 10%, whichever is greater. In this case, we’d set SQL’s max memory at 28GB, which would leave 4GB free for the OS.

    •The VMware reservation – the lowest amount of memory the guest will have. Ideally, this is 100% of the guest’s memory, but that’s not always practical. If a host crashes, I’d rather be able to boot up all my guests with less memory than not be able to boot them up at all. For SQL Server, I generally set my reservations at 75% of the guest memory – in this case, 24GB.