Arbeitsspeichereigenschaften
Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Analysis Services belegt vorab eine mittlere Menge an Arbeitsspeicher, damit Anforderungen sofort bearbeitet werden können. Zusätzlicher Arbeitsspeicher wird belegt, wenn die Arbeitsauslastung durch Abfragen und Verarbeitung steigt. Sie können die Schwellenwerte steuern, an denen Arbeitsspeicher freigegeben wird, indem Sie Konfigurationseinstellungen angeben.
Hinweis
QueryMemoryLimit ist die einzige Memory-Eigenschaft, die für Power BI gilt.
Standard-Arbeitsspeicherkonfiguration
Unter der Standardkonfiguration weist jeder instance beim Start eine kleine Ram-Menge (40 MB bis 50 MB) zu, auch wenn sich die instance im Leerlauf befindet. Die Konfigurationseinstellungen sind pro instance. Wenn Sie mehrere Instanzen ausführen, z. B. eine tabellarische und mehrdimensionale instance auf derselben Hardware, belegt jede instance unabhängig von anderen Instanzen ihren eigenen Arbeitsspeicher.
Einstellung | Beschreibung |
---|---|
LowMemoryLimit | Ein unterer Schwellenwert für mehrdimensionale Instanzen, ab dem der Server zunächst damit beginnt, Arbeitsspeicher freizugeben, der von selten verwendeten Objekten belegt wird. |
VertiPaqMemoryLimit | Ein unterer Schwellenwert für tabellarische Instanzen, ab dem der Server zunächst damit beginnt, Arbeitsspeicher freizugeben, der von selten verwendeten Objekten belegt wird. |
TotalMemoryLimit | Eine obere Schwelle, ab der Analysis Services beginnt, Arbeitsspeicher aggressiver freizugeben, um Platz für anforderungen zu schaffen, die ausgeführt werden, sowie für neue Anforderungen mit hoher Priorität. |
HardMemoryLimit | Ein weiterer Schwellenwert, ab dem Analysis Services damit beginnt, Anfragen aufgrund zu hoher Arbeitsspeicherauslastung vollständig abzulehnen. |
Eigenschaften
Werte zwischen 1 und 100 stellen Prozentsätze von Gesamter physischer Speicher bzw. Virtueller Adressraumdar, je nachdem, welcher geringer ist. Werte über 100 stellen Arbeitsspeichergrenzwerte in Bytes dar.
DefaultPagesCountToReuse
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
HandleIA64AlignmentFaults
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
HardMemoryLimit
Gibt einen Arbeitsspeicherschwellenwert an, ab dem die Instanz aktive Benutzersitzungen aggressiv beendet, um die Speicherauslastung zu reduzieren. Alle beendeten Sitzungen erhalten eine Fehlermeldung, dass sie durch Arbeitsspeicherauslastung abgebrochen werden. Der Standardwert 0 bedeutet, dass HardMemoryLimit auf einen mittleren Wert zwischen TotalMemoryLimit und dem gesamten physischen Speicher des Systems festgelegt wird. Wenn der physische Speicher größer als der virtuelle Adressraum des Prozesses ist, dann wird anstelle der Berechnung von HardMemoryLimitder virtuelle Adressraum verwendet. Dieser Wert ist für Azure Analysis Services nicht konfigurierbar.
HeapTypeForObjects
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte. Gültige Werte sind:
Einstellung | BESCHREIBUNG |
---|---|
-1 | (Standard) Automatisch. Die Engine entscheidet, welcher Typ verwendet wird. |
0 | Windows-LFH-Heap. |
1 | Analysis Services-Slotzuweisung. |
3 | Jedes Objekt verfügt über einen eigenen Analysis Services-Heap. |
HighMemoryPrice
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
LowMemoryLimit
Eine 64-Bit-Gleitkommazahleigenschaft mit doppelter Genauigkeit, die den ersten Schwellenwert definiert, ab dem Analysis Services mit der Freigabe von Arbeitsspeicher für Objekte mit niedriger Priorität beginnt, z. B. einen selten verwendeten Cache. Sobald der Speicher belegt wird, gibt der Server keinen Arbeitsspeicher unter diesem Grenzwert frei. Der Standardwert ist 65. Dieser Wert besagt, dass der Grenzwert für ungenügenden Arbeitsspeicher 65 % des physischen Speichers bzw. virtuellen Adressraums entspricht, je nachdem, welcher dieser Werte niedriger ist.
MemoryHeapType
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte. Gültige Werte in Analysis Services in SQL Server 2016 SP1 und höher sind wie folgt:
Einstellung | BESCHREIBUNG |
---|---|
-1 | (Standard) Automatisch. Die Engine entscheidet, welcher Typ verwendet wird. |
1 | Analysis Services HEAP. |
2 | Windows LFH. |
5 | Hybridzuweisung. Diese Zuweisung verwendet Windows LFH für <= 16 KB-Zuordnungen und den AS-Heap für >16-KB-Zuordnungen. |
6 | Intel TBB-Zuweisung. Verfügbar in SQL Server 2016 SP1 (und höher) Analysis Services. |
MidMemoryPrice
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
MinimumAllocatedMemory
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
PreAllocate
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
QueryMemoryLimit
Gilt nur für Power BI, Azure Analysis Services und SQL Server 2019 und höher Analysis Services. Eine erweiterte Eigenschaft, um zu steuern, wie viel Arbeitsspeicher während einer Abfrage verwendet werden kann.
In SQL Server 2019 und höher von Analysis Services gilt diese Einstellung nur für Speicherspools, in denen während der Abfrageverarbeitung Zwischenergebnisse von DAX-Abfragen erstellt werden. Sie gilt nicht für MDX-Abfragen.
Wenn in Power BI, Azure Analysis Services und SQL Server Analysis Services 2022 und höher die Eigenschaft ResourceTrackingEnabled-Feature aktiviert ist, ist diese Einstellung nicht nur auf Speicherpools beschränkt. Sie gilt nur für den gesamten Arbeitsspeicher, der von DAX- und MDX-Abfragen im tabellarischen Modus genutzt wird.
In Prozent bis zu 100 angegeben. Wenn mehr als 100 sind, ist dies in Bytes. Wenn Sie den Wert 0 festlegen, wird kein Grenzwert angegeben.
Für Azure Analysis Services wird der Standardwert von Ihrem Plan bestimmt.
Plan | Standard |
---|---|
D1 | 80 |
Alle anderen | 20 |
SessionMemoryLimit
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
TotalMemoryLimit
Definiert einen Schwellenwert, der bei Erreichen dazu führt, dass der Server die Speicherzuweisung aufhebt, um Platz für andere Anforderungen zu schaffen. Wenn dieser Grenzwert erreicht wird, beginnt die Instanz langsam, Arbeitsspeicher in Caches zu bereinigen, indem abgelaufene Sitzungen geschlossen und nicht verwendete Berechnungen entladen werden. Für SQL Server Analysis Services beträgt der Standardwert 80 % des physischen Arbeitsspeichers oder des virtuellen Adressraums, je nachdem, welcher Wert kleiner ist. Der Standardwert für Azure Analysis Services basiert auf Ihrem Plan und ist nicht konfigurierbar. TotalMemoryLimit muss immer kleiner als HardMemoryLimit sein.
VertiPaqMemoryLimit
Nur für tabellarische Instanzen – Wenn die Auslagerung auf den Datenträger zulässig ist, gibt diese Eigenschaft die Arbeitsspeichernutzung (als Prozentsatz des gesamten Arbeitsspeichers) an, ab der die Auslagerung beginnt. Der Standardwert ist 60. Wenn die Arbeitsspeichernutzung weniger als 60 Prozent beträgt, führt der Server keine Auslagerung auf Datenträger aus. Diese Eigenschaft hängt von VertiPaqPagingPolicyPropertyab, die auf 1 festgelegt werden muss, damit Auslagerungen stattfinden.
VertiPaqPagingPolicy
Gibt nur für tabellarische Instanzen das Auslagerungsverhalten an, das bei wenig verfügbarem Arbeitsspeicher des Servers angewendet wird. Gültige Werte sind:
Einstellung | BESCHREIBUNG |
---|---|
0 | (Standardeinstellung für Azure Analysis Services und Power BI) Deaktiviert das Paging. Wenn der Arbeitsspeicher nicht ausreicht, schlägt die Verarbeitung mit dem Fehler "Nicht genügend Arbeitsspeicher" fehl. Wenn Sie die Auslagerung deaktivieren, müssen Sie für das Dienstkonto Windows-Berechtigungen erteilen. Anweisungen finden Sie unter Konfigurieren von Dienstkonten (Analysis Services). |
1 | (Standard für SQL Server Analysis Services) Diese Eigenschaft ermöglicht das Paging auf dem Datenträger mithilfe der Betriebssystemseitendatei (pagefile.sys). |
Wenn sie auf 1 festgelegt ist, ist es weniger wahrscheinlich, dass bei der Verarbeitung aufgrund von Arbeitsspeicherbeschränkungen ein Fehler auftritt, da der Server versucht, Daten anhand der von Ihnen angegebenen Methode auf den Datenträger auszulagern. Das Festlegen der VertiPaqPagingPolicy -Eigenschaft ist keine Garantie dafür, dass niemals Arbeitsspeicherfehler auftreten. Unter folgenden Bedingungen können weiterhin Fehler aufgrund von unzureichendem Arbeitsspeicher auftreten:
Es ist nicht genügend Arbeitsspeicher für alle Wörterbücher verfügbar. Während der Verarbeitung sperrt der Server die Wörterbücher für jede Spalte im Arbeitsspeicher, und alle können zusammen nicht mehr als der für VertiPaqMemoryLimit angegebene Wert sein.
Der virtuelle Adressraum reicht nicht aus, um den Prozess aufzunehmen.
Um wiederholte Fehler aufgrund von unzureichendem Arbeitsspeicher zu vermeiden, können Sie das Modell umgestalten, um die verarbeitete Datenmenge zu reduzieren, oder den physischen Arbeitsspeicher des Computers erweitern.
VirtualMemoryLimit
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
WaitCountIfHighMemory
Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.
Weitere Informationen
Servereigenschaften in Analysis Services
Bestimmen des Servermodus einer Analysis Services-Instanz