Database Reference
In-Depth Information
There is another set of performance counters relating to the Memory Manager. These
counters are found in the
MSOLAP Memory
category:
•
Cleaner Memory non-shrinkable KB
: This is the amount of memory that
cannot be purged by the Memory Manager.
•
Cleaner Memory shrinkable KB
: This is the amount of memory that can be
purged by the Memory Manager.
•
Cleaner Memory KB
: This is the sum of the amount of shrinkable and non-
shrinkable memory returned by the two counters discussed, and this is the
total amount of memory controlled by the Memory Manager.
•
Memory Limit High KB
: This returns the actual amount of memory that
corresponds to the threshold set by the
TotalMemoryLimit
property.
•
Memory Limit Low KB
: This returns the actual amount of memory that
corresponds to the threshold set by the
LowMemoryLimit
property.
•
Memory Usage KB
: This is the total of private virtual memory allocated by
Analysis Services and corresponds to the
Process\PrivateBytes
counter
provided by the operating system. This number should be always greater
than or equal to the
CleanerMemoryKB
counter. We should also look out for
any paging caused by Analysis Services virtual memory.
As we previously said in the
Controlling the Analysis Services Memory Manager
section,
it is important to compare the value of
Cleaner
Memory
KB
to the values of
Memory
Limit
Low
KB
and
Memory
Limit
High
KB
, but also to look for any paging caused
by Analysis Services virtual memory. We might consider increasing our memory
limits only if there is no paging and there is enough physical RAM available. On
the other hand, we might want to decrease our memory limits if paging is having a
negative impact on performance (for example, if cache is paged to disk, it is much
less efficient).
Monitoring processing with Dynamic
Management Views
Dynamic Management Views
(DMVs) were introduced in Analysis Services 2008
to track server resources used, and can be queried using a SQL-like syntax. We can
run a DMV query in SQL Server Management Studio in an MDX query window. For
example, the following query shows the top ten objects that used the most CPU:
SELECT TOP 10 *
FROM $System.DISCOVER_OBJECT_ACTIVITY
ORDER BY OBJECT_CPU_TIME_MS DESC
Search WWH ::
Custom Search