sys.dm_os_memory_brokers (Transact-SQL)
SQL Server-interne Zuordnungen verwenden den Speicher-Manager von SQL Server. Durch eine Nachverfolgung der Unterschiede zwischen Prozessspeicherindikatoren aus sys.dm_os_process_memory und internen Indikatoren lassen sich Rückschlüsse auf die Menge des von externen Komponenten genutzten Arbeitsspeichers von SQL Server ziehen.
Speicherbroker verteilen Arbeitsspeicherzuordnungen gleichmäßig auf die verschiedene Komponenten in SQL Server auf Basis der aktuellen und der prognostizierten Auslastung. Speicherbroker führen keine Zuordnungen durch. Sie verfolgen Zuordnungen nur zum Berechnen der Verteilung.
Die folgende Tabelle enthält Informationen zu Speicherbrokern.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
memory_broker_type |
nvarchar(60) |
Typ des Speicherbrokers. Es gibt derzeit drei Typen von Speicherbrokern in SQL Server.
WertBeschreibung
MEMORYBROKER_FOR_CACHEArbeitsspeicher, der für die Verwendung durch zwischengespeicherte Objekte zugeordnet wird.
MEMORYBROKER_FOR_STEALArbeitsspeicher, der dem Pufferpool entnommen wird. Dieser Speicher ist erst dann zur Wiederverwendung durch andere Komponenten verfügbar, wenn er durch den aktuellen Besitzer freigegeben wird.
MEMORYBROKER_FOR_RESERVEArbeitsspeicher, der für die zukünftige Verwendung durch momentan ausgeführte Anforderungen reserviert ist.
|
allocations_kb |
bigint |
Größe des Arbeitsspeichers in Kilobyte (KB), der diesem Typ Broker zugeordnet wurde. |
allocations_per_sec |
int |
Aktuelle Zuordnungsrate, die diesem Broker attributiert wird. |
target_allocations_kb |
bigint |
Empfohlene Größe des zugeordneten Speichers in Kilobyte (KB) auf Basis der aktuellen Einstellungen und des Speicherverwendungsmusters. Dieser Broker sollte auf diesen Wert vergrößert oder verkleinert werden. |
future_allocations_kb |
bigint |
Prognostizierte Anzahl der Zuordnungen in Kilobyte (KB), die in den nächsten Sekunden erfolgen werden. |
last_notification |
nvarchar(60) |
Speicherauslastungsempfehlung auf Basis der aktuellen Einstellungen und des Verwendungsmusters. Gültige Werte sind:
|
pool_id |
int |
ID des Ressourcenpools, wenn er einem Ressourcenkontrollenpool zugeordnet ist. |
allocations_kb_per_sec |
bigint |
Rate der Speicherzuordnungen in Kilobyte (KB) pro Sekunde. Dieser Wert kann für die Aufhebung von Arbeitsspeicherzuordnungen negativ sein. |
predicated_allocations_kb |
bigint |
Vorhergesagte Größe des durch den Broker zugeordneten Arbeitsspeichers. Dieser Wert basiert auf dem Speicherauslastungsmuster. |
overall_limit_kb |
bigint |
Die Höchstmenge an Arbeitsspeicher, die der Broker zuordnen kann, in Kilobyte (KB). |
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.