このモニターは、SSAS インスタンスに対して構成されている合計メモリ制限が構成されているしきい値を超えるとアラートを生成します。この状態の場合、オペレーティング システムで基本的機能を実行するために必要な物理メモリ (最低 2 GB) を割り振ることができないおそれがあります。
このモニターは、SSAS インスタンスに構成されている合計メモリ制限が、構成されているしきい値を超えるとアラートを生成します。この状態の場合、オペレーティング システムが必要な基本機能を実行するための物理メモリを割り振ることができなくなるおそれがあります。また、この構成では、特定のモニター対象インスタンス以外のプロセスが使用している可能性があるメモリは考慮対象外となります。こうしたメモリに関しても、管理者は SSAS 多次元パフォーマンス ガイドを十分に確認した後に合計メモリ制限設定を調整するときに考慮する必要があります。
合計メモリ制限は、最低でも、オペレーティング システムがメモリ管理およびドライバーとハードウェアの相互作用に必要な基本機能を実行するために十分な余地が残る設定でなければなりません。これらの重要な機能に OS が使用できるメモリが不足していると、システムが不安定になったり、障害が発生したりします。したがって、これらの機能で使用できる十分な量の物理メモリを確保するために、この設定を 100% より低い値に構成する必要があります。設定が高すぎると、このモニターが警告状態を通知します。
SSAS の合計メモリ制限の既定の構成値は 80 で、サーバー上の使用可能な物理メモリの 80% を表しています。メモリを大量に使用するプロセス (たとえば、SQL Server リレーショナル データベース エンジンなど) が他にもある場合は、それを考慮に入れて、メモリの制限値を適切に下げる必要があります。この数値を高くしすぎると、OS の物理メモリが不足して大量のディスク ページングが発生し、サーバーのパフォーマンスが不十分になることがあります。
特定のバイト数が必要な場合は、100 より大きい値を指定すれば、物理メモリのバイト数として解釈されます。
注意: SSAS エンジンの合計メモリ制限は、最大メモリのハード制限をサポートする SQL Server リレーショナル データベース エンジンと若干動作が異なります。合計メモリ制限は、サーバーが積極的に可能な限り早くメモリをクリアしようとし始める制限値です。同様に、メモリ下限は、サーバーが SSAS キャッシュからメモリをクリアするのを "怠け" 始める制限値で、既に進行中の既存のセッションまたはクエリへの影響を軽減しようとします。合計メモリ制限に達すると、サーバーが非常に積極的にキャッシュからメモリをクリアするようになるため、サーバーのパフォーマンスに影響が出る場合があります。サーバーは、メモリ上限の設定もサポートしています。これは、サーバーが自己の裁量でセッションを終了してメモリを解放しようとし始める限界値です。これは一部のユーザーに障害を起こす可能性があるため、合計メモリ制限はハード制限としては施行されません。メモリを大量に必要とする性質の一部のクエリまたはジョブに対応するために、OLAP エンジンは、サポートするように構成された制限内でそれらのクエリまたはジョブに最大限のサービスを提供するからです。
この状態は、次のいずれかの処置によって解決される可能性があります。
合計メモリ制限を、構成されたしきい値よりも低くします。
物理メモリをサーバーに追加します。これにより、しきい値未満の利用可能な物理メモリ合計 (GB 単位で表される) のパーセンテージとして表される合計メモリ制限の設定値を減らします。
構成されたしきい値を小さくしてアラートを回避します。
メモリ使用量がサーバーで問題にならなければ、モニターを完全に無効にします。
SQL Server 2008 におけるメモリ構成とサイズ変更の考慮事項
Analysis Services メモリのプロパティに関する TechNet 資料
Analysis Services のサーバー構成プロパティ
名前 | 説明 | 既定値 |
有効 | ワークフローを有効または無効にします | はい |
アラートを生成する | ワークフローがアラートを生成するかどうかを定義する | はい |
間隔 (秒) | ワークフローを実行する定期的な実行間隔 (秒)。 | 604800 |
同期時刻 | 24 時間形式で指定した同期時刻。省略可能です。 |
|
警告しきい値 (GB) | このモニターは、オペレーティング システムに対して構成されている合計メモリ制限が構成されているしきい値を超えるとアラートを生成します。この状態の場合、オペレーティング システムで必要な基本的機能を実行するために必要な物理メモリ (最低 2 GB) を割り振ることができないおそれがあります。 | 2 |
タイムアウト (秒) | ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。 | 300 |
Target | Microsoft.SQLServer.2008.AnalysisServices.Instance | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.TotalMemoryConfiguration" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.TotalMemoryConfiguration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='MemoryLimitHighGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='MemoryLeavesForOsGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='MemoryUsageByOtherProcessGB']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='UsedPhysicalMemoryGB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='MemoryLimitLowGB']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='MemoryLimitLowPercent']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='MemoryLimitHighPercent']$</AlertParameter9>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="NotConfigured" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Configured" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>2</Threshold>
<IntervalSeconds>604800</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>