SSRS インスタンスによって消費されるメモリ

Microsoft.SQLServer.2008.ReportingServices.UnitMonitor.Instance.MemoryUsageByInstance (UnitMonitor)

SSRS プロセスによるメモリ使用量が WorkingSetMaximum 設定で定義された制限に近付くと、モニターは警告を出します。

Knowledge Base article:

概要

SSRS プロセスによるメモリ使用量が WorkingSetMaximum 設定で定義された制限に近付くと、モニターは警告を出します。

原因

Reporting Services はさまざまな理由で大量のメモリを消費することがあります。以下に理由をいくつか挙げます。

解決方法

以下の記事は、Reporting Services のメモリ構成に関する情報を提供しています。

レポート サーバー アプリケーションで利用可能なメモリの構成

Reporting Services のサーバーのプロパティの構成: Analysis Services の構成プロパティ

上書き可能なパラメーター

名前

説明

既定値

有効

ワークフローの有効化または無効化

はい

アラートを生成する

ワークフローがアラートを生成するかどうかを定義します

はい

間隔 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

900

警告しきい値

監視されている値が警告しきい値と重大なしきい値の間になると、モニターの状態が警告に変わります。

80

同期時刻

24 時間形式で指定した同期時刻。省略可能です。

 

タイムアウト (秒)

ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。

300

重大のしきい値

監視されている値が重大なしきい値を超えると、モニターの状態が重大に変わります。

90

Element properties:

TargetMicrosoft.SQLServer.2008.ReportingServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.ReportingServices.MonitorType.Instance.MemoryUsageByInstance
RemotableTrue
AccessibilityPublic
Alert Message
SSRS 2008: メモリ使用量が制限に達しようとしています
SSRS が使用するメモリ ({3} GB) がしきい値を超えました。
WorkingSetMaximum: {2} GB
WorkingSetMinimum: {1} GB。
サーバー上の合計メモリ: {0} GB
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.ReportingServices.UnitMonitor.Instance.MemoryUsageByInstance" Accessibility="Public" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2008.ReportingServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.ReportingServices.MonitorType.Instance.MemoryUsageByInstance" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.ReportingServices.UnitMonitor.Instance.MemoryUsageByInstance.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='WorkingSetMinimumGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='WorkingSetMaximumGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Above" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Between" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Below" HealthState="Success"/>
</OperationalStates>
<Configuration>
<LowerThreshold>80</LowerThreshold>
<UpperThreshold>90</UpperThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>