can I measure how much memory is allocated to the buffer in SS2K8 on VMWare accurately

  • maroon-78

    Ten Centuries

    Points: 1014

    I have a 8GB SS2K8 database on a smallish VMware server with 5 other VMs running on the host. The SS2K8 server is supposed to have 4GB of memory. Task Manager and Activity monitor indicate that there is 4GB, but I suspect that the host is stealing memory for another VM because a few times a day the database slows way down. I don't see high IO or CPU on the database when this happens. Are there DMV's that would allow me to view what the database is really getting ( or losing!) during these slow downs?

  • Orlando Colamatteo

    SSC Guru

    Points: 182269

    Measure total server memory used by SQL Server:

    SELECT cntr_value / 1024.0 AS TotalServerMemoryMB

    FROM sys.dm_os_performance_counters

    WHERE counter_name = 'Total Server Memory (KB)';

    For physical (if VM host is stealing) and buffer use:

    SELECT CAST(physical_memory_in_bytes / (1024.0 * 1024.0 * 1024.0) AS DECIMAL(20, 2)) AS PhysicalMemoryGB,

    CAST((bpool_committed * 8) / (1024.0 * 1024.0) AS DECIMAL(20, 2)) AS BufferPoolCommittedMemoryGB

    FROM sys.dm_os_sys_info;

    There are no special teachers of virtue, because virtue is taught by the whole community. --Plato

  • SQL Show


    Points: 6083

    If you want to measure memory usage of Buffer pool,

    Select Count(*) * 8 / (1024.00) 'BufferPoolSize In MB' From sys.dm_os_buffer_descriptors

  • maroon-78

    Ten Centuries

    Points: 1014


  • Perry Whittle

    SSC Guru

    Points: 233859

    Consult with your vm admin, if memory ballooning becomes a problem you may have to uninstall the balloon driver from the vmware tools but simply having the admin reserve resources should be sufficient.


    "Ya can't make an omelette without breaking just a few eggs" 😉



    Points: 1701

    I'd start with asking your VMware Admin to check the memory usage statistics for the physical host of your VM. The reason I'd start here is because its very quick to check on the VMs from a high level where as memory investigation within the VM itself and SQL Server will require more time.

    Confirm you're VM isn't having pressure from it's neighbors and then drill down into it.

    Here are the esxtop commands. He or she would just have to look at "MEMCTL" (MB) to tell if there is ballooning taking place.

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

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