Understanding memory allocation at the instance level provides indication as to if overall memory resources are sufficient for an instance. However when investigating memory issues it is also useful for understanding at the database level how memory is being consumed. This provides focus on specific databases for memory optimization efforts or other optimization strategies such as relocating specific databases to other hosts.
Viewing Memory by Database
The easiest method for viewing memory usage by database in RockSolid is to:
- Navigate to the specific instance via Manage Instances
- Click on the Databases tab
The column "MEM Now:Avg" provides the approximate % of memory allocated to each database. The "Now" value is the percentage of memory at the last polling cycle, the "Avg" value is the average memory allocation to this database over the last 30 days.
How is Memory by Database Calculated
Memory by Database is an approximate calculation. It is derived by aggregating the number of pages in both the buffer pool cache and plan caches by database. Memory allocated at the instance level in SQL Server won't be considered part of this calculation, and while this can be considered a reasonable approximation of memory allocation it is noted that a number of factors can skew these calculated values (such as memory allocated during cross database queries).