メモリのプロパティMemory Properties

適用対象: はいSQL Server Analysis ServicesはいAzure Analysis ServicesAPPLIES TO: yesSQL Server Analysis Services yesAzure Analysis Services

事前、analysis Services では、要求をすぐに処理するために起動時のメモリ量が中程度のサイズを割り当てます。Analysis Services pre-allocates a modest amount of memory at startup so requests can be handled immediately. 追加のメモリがクエリに割り当てられ、処理のワークロードが増大します。Additional memory is allocated as query and processing workloads increase.

構成設定を指定すると、メモリが解放されるしきい値を制御することができます。By specifying configuration settings, you can control the thresholds at which memory is released. たとえば、 HardMemoryLimit 設定では、メモリ不足の条件を自分で指定します (既定では、このしきい値は有効ではありません)。ここでは、新しい要求は追加のリソースが有効になるまで完全に拒否されます。For example, the HardMemoryLimit setting specifies a self-imposed out-of-memory condition (by default, this threshold is not enabled), where new requests are rejected outright until more resources become available.

エディションの SQL Server Analysis Services インスタンスごとに使用される最大メモリの詳細については、次を参照してください。エディションと SQL Server のサポートされている機能します。To learn more about maximum memory utilized per SQL Server Analysis Services instance by edition, see Editions and supported features of SQL Server.

次の設定は、それ以外の場合に記載されていない場合に、表形式と多次元の両方のサーバーに適用されます。The following settings apply to both tabular and multidimensional servers unless noted otherwise.

既定のメモリ構成Default memory configuration

既定の構成、インスタンスがアイドル状態の場合でも、各 Analysis Services インスタンスは起動時に、少量の RAM (40 MB ~ 50 MB) を割り当てます。Under the default configuration, each Analysis Services instance allocates a small amount of RAM (40 MB to 50 MB) at startup, even if the instance is idle.

構成設定はインスタンスごとであることに注意してください。Recall that configuration settings are per instance. 同じハードウェアのテーブルと多次元インスタンスなど、Analysis Services の複数のインスタンスを実行している場合、他のインスタンスとは関係なく、各インスタンスで固有のメモリを割り当てます。If you are running multiple instances of Analysis Services, such as a tabular and multidimensional instance on the same hardware, each instance will allocate its own memory independently of other instances.

次の表では、(リファレンス セクションの詳細情報と共に) 一般的に使用されるメモリの設定について簡単に説明します。The table below briefly describes the more commonly used memory settings (with more detail in the reference section). Analysis Services は、同じサーバー上の他のアプリケーションでメモリ消費している場合にのみ、これらの設定を構成します。Configure these settings only if Analysis Services is competing for memory with other applications on the same server:

設定Setting 説明Description
LowMemoryLimitLowMemoryLimit 多次元インスタンスで、最初にサーバーが、使用されるオブジェクトと関係なく割り当てられたメモリを解放し始める下限のしきい値。For multidimensional instances, a lower threshold at which the server first begins releasing memory allocated to infrequently used objects.
VertiPaqMemoryLimitVertiPaqMemoryLimit テーブルインスタンスで、最初にサーバーが、使用されるオブジェクトと関係なく割り当てられたメモリを解放し始める下限のしきい値。For tabular instances, a lower threshold at which the server first begins releasing memory allocated to infrequently used objects.
TotalMemoryLimitTotalMemoryLimit 実行中の要求および新しい優先度の高い要求に対してスペースを作るために、Analysis Services が積極的にさらにメモリを解放し始める上限のしきい値。An upper threshold at which Analysis Services begins releasing memory more aggressively to make room for requests that are in execution as well as new high priority requests.
HardMemoryLimitHardMemoryLimit Analysis Services がメモリ不足のために、完全に要求を拒否し始める別のしきい値。Another threshold at which Analysis Services begins rejecting requests outright due to memory pressure.

プロパティ リファレンスProperty reference

次のプロパティは、それ以外に指定されない限り、テーブルと多次元の両方のモードに適用されます。The following properties apply to both tabular and multidimensional modes unless specified otherwise.

1 ~ 100 の値は、 [物理メモリの合計] または [仮想アドレス領域] のどちらか少ない方に対する割合を示します。Values between 1 and 100 represent percentages of Total Physical Memory or Virtual Address Space, whichever is less. 100 を超える値はメモリ制限を示します (単位: バイト)。Values over 100 represent memory limits in bytes.

LowMemoryLimitLowMemoryLimit
符号付き 64 ビット倍精度浮動小数点数のプロパティの使用頻度の低いキャッシュなどの優先順位の低いオブジェクトのメモリを解放して Analysis Services が開始される最初のしきい値を定義します。A signed 64-bit double-precision floating-point number property that defines the first threshold at which Analysis Services begins releasing memory for low-priority objects, such as an infrequently used cache. メモリを割り当てると、サーバーはこの制限より下のメモリを解放することはありません。Once the memory is allocated, the server does not release memory below this limit. 既定値は 65 です。これは、物理メモリまたは仮想アドレス空間の 65% (どちらか少ない方) を超えたらメモリ不足とすることを示します。The default value is 65; which indicates the low memory limit is 65% of physical memory or the virtual address space, whichever is less.

TotalMemoryLimitTotalMemoryLimit
他の要求用にスペースを作るために、サーバーがメモリの割り当てを解除し始めるしきい値を定義します。Defines a threshold that when reached, causes the server to deallocate memory to make room for other requests. この制限に達すると、インスタンスは、期限切れのセッションを終了したり、使用されていない計算をアンロードしたりすることによって、徐々にキャッシュ内のメモリを解放し始めます。When this limit is reached, the instance will start to slowly clear memory out of caches by closing expired sessions and unloading unused calculations. 既定値は、物理メモリまたは仮想アドレス空間の 80% です (どちらか少ない方)。The default value 80% of physical memory or the virtual address space, whichever is less. TotalMemoryLimit常にする必要がありますより小さいHardMemoryLimitTotalMemoryLimit must always be less than HardMemoryLimit

HardMemoryLimitHardMemoryLimit
インスタンスが、メモリ使用量を減らすために、アクティブなユーザー セッションを積極的に終了し始めるメモリのしきい値を指定します。Specifies a memory threshold after which the instance aggressively terminates active user sessions to reduce memory usage. 終了されたすべてのセッション メモリの負荷で取り消されるに関するエラーが表示されます。All terminated sessions will receive an error about being canceled by memory pressure. 既定値 (0) は、 HardMemoryLimitTotalMemoryLimit とシステムの物理メモリ合計の間の値に設定されることを意味します。システムの物理メモリがプロセスの仮想アドレス領域を超える場合は、 HardMemoryLimitを計算せずに、仮想アドレス空間が使用されます。The default value, zero (0), means the HardMemoryLimit will be set to a midway value between TotalMemoryLimit and the total physical memory of the system; if the physical memory of the system is larger than the virtual address space of the process, then virtual address space will be used instead to calculate HardMemoryLimit.

QueryMemoryLimit QueryMemoryLimit
Azure Analysis Services の場合のみです。Azure Analysis Services only. メモリの量は、クエリ中に一時的な結果で使用できるかを制御する高度なプロパティです。An advanced property to control how much memory can be used by temporary results during a query. DAX メジャーとクエリにのみ適用されます。Applies only to DAX measures and queries. クエリで使用される一般的なメモリ割り当ては考慮しません。It does not account for general memory allocations used by the query. 最大 100 パーセントで指定します。Specified in percentage up to 100. さらに、バイトになります。Beyond that, it's in bytes. 値 0 は制限なしの設定を指定します。Setting a value of 0 means no limit is specified. Azure の分析には、既定値をご利用のプランによって決まります。For Azure Analysis, the default value is determined by your plan.

プランPlan 既定Default
D1D1 8080
その他のすべてのプランAll other plans 2020

VirtualMemoryLimitVirtualMemoryLimit
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

VertiPaqPagingPolicyVertiPaqPagingPolicy
テーブル インスタンスのみの場合、サーバーのメモリが不足したときのページングの動作を指定します。For tabular instances only, specifies the paging behavior in the event the server runs low on memory. 有効な値は次のとおりです。Valid values are as follows:

設定Setting 説明Description
00 (Azure Analysis Services の既定値)ページングを無効にします。(default for Azure Analysis Services) Disables paging. メモリが足りなくなると、メモリ不足エラーが発生し、処理は失敗します。If memory is insufficient, processing fails with an out-of-memory error. ページングを無効にする場合は、サービス アカウントに Windows 特権を付与する必要があります。If you disable paging, you must grant Windows privileges to the service account. 手順については、「サービス アカウントの構成 (Analysis Services)」を参照してください。See Configure Service Accounts (Analysis Services) for instructions.
11 (SQL Server Analysis Services の既定値)このプロパティは、オペレーティング システムのページファイル (pagefile.sys) を使用してディスクへのページングを使用できます。(default for SQL Server Analysis Services) This property enables paging to disk using the operating system page file (pagefile.sys).

1 に設定された場合、指定された方法を使用してサーバーがディスクへのページングを試行するので、メモリ制約によって処理が失敗する可能性は低くなります。When set to 1, processing is less likely to fail due to memory constraints because the server will try to page to disk using the method that you specified. VertiPaqPagingPolicy プロパティを設定しても、メモリ エラーが発生しないことが保証されるわけではありません。Setting the VertiPaqPagingPolicy property does not guarantee that memory errors will never happen. 以下の状況では、メモリ不足エラーが発生する可能性があります。Out of memory errors can still occur under the following conditions:

  • すべての辞書のための十分なメモリがない。There is not enough memory for all dictionaries. 処理中に、サーバーは、メモリ内の各列の辞書をロック、それらすべての値は指定された値を超えるVertiPaqMemoryLimitします。During processing, the server locks the dictionaries for each column in memory, and all of these together cannot be more than the value specified for VertiPaqMemoryLimit.

  • 処理に対応するための十分な仮想アドレス空間がない。There is insufficient virtual address space to accommodate the process.

繰り返し発生するメモリ不足エラーを解決するには、処理を要するデータの量を減らすようにモデルを設計し直すか、コンピューターに物理メモリを追加します。To resolve persistent out of memory errors, you can either try to redesign the model to reduce the amount of data that needs processing, or you can add more physical memory to the computer.

VertiPaqMemoryLimitVertiPaqMemoryLimit
テーブル インスタンスのみの場合、ディスクへのページングを許可していれば、ページングが開始されるメモリ消費レベル (メモリの合計に対する割合) をこのプロパティで指定します。For tabular instances only, if paging to disk is allowed, this property specifies the level of memory consumption (as a percentage of total memory) at which paging starts. 既定値は 60 です。The default is 60. メモリ消費量が 60% 未満の場合、ディスクへのページングは実行されません。If memory consumption is less than 60 percent, the server will not page to disk. このプロパティは、 VertiPaqPagingPolicyPropertyに依存します (ページングを有効にするには 1 に設定する必要があります)。This property depends on the VertiPaqPagingPolicyProperty, which must be set to 1 in order for paging to occur.

HighMemoryPriceHighMemoryPrice
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

MemoryHeapTypeMemoryHeapType
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support. SQL Server 2016 SP1 とそれ以降の Analysis Services で有効な値は次のとおりです。Valid values in SQL Server 2016 SP1 and later Analysis Services are as follows:

設定Setting 説明Description
-1-1 (既定値) 自動。(default) Automatic. エンジンがどれを使用するかを決定します。The engine will decide which one to use.
11 Analysis Services ヒープ。Analysis Services HEAP.
22 Windows LFH。Windows LFH.
55 ハイブリッド アロケーター。Hybrid allocator. このアロケーターを使用の Windows LFH <= 16 kb を超える割り当てと AS ヒープ > 16 kb を超える割り当て。This allocator will use Windows LFH for <= 16 KB allocations and the AS Heap for >16 KB allocations.
66 Intel TBB アロケーター。Intel TBB allocator. SQL Server 2016 SP1 (およびそれ以降) の Analysis Services で使用できます。Available in SQL Server 2016 SP1 (and later) Analysis Services.

HeapTypeForObjectsHeapTypeForObjects
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support. 有効な値は次のとおりです。Valid values are as follows:

設定Setting 説明Description
-1-1 (既定値) 自動。(default) Automatic. エンジンがどれを使用するかを決定します。The engine will decide which one to use.
00 Windows LFH ヒープ。Windows LFH heap.
11 Analysis Services スロット アロケーター。Analysis Services slot allocator.
33 各オブジェクトには独自の Analysis Services ヒープがあります。Each object has its own Analysis Services Heap.

DefaultPagesCountToReuseDefaultPagesCountToReuse
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

HandleIA64AlignmentFaultsHandleIA64AlignmentFaults
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

MidMemoryPriceMidMemoryPrice
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

MinimumAllocatedMemoryMinimumAllocatedMemory
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

PreAllocatePreAllocate
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

SessionMemoryLimitSessionMemoryLimit
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

WaitCountIfHighMemoryWaitCountIfHighMemory
詳細プロパティです。 MicrosoftMicrosoft サポートの指示がない限り、変更しないでください。An advanced property that you should not change, except under the guidance of MicrosoftMicrosoft support.

参照See Also

Analysis Services のサーバー プロパティ Server Properties in Analysis Services
Analysis Services インスタンスのサーバー モードの決定Determine the Server Mode of an Analysis Services Instance