DBエンジンの盗まれたサーバーのメモリが高すぎる


8

System Center Operations Manager(SCOM)からエラーが発生します。

このエラーを解決するには?

SQL DB 2012エンジンの盗まれたサーバーのメモリが高すぎます。

クエリを実行してこのカウンターを取得します。

╔═══════════════════════════════╦═════════════╗
║ Stolen Server Memory (MB)     ║ 7354.773437 ║
║ Lock Memory (MB)              ║ 106.195312  ║
║ Free Memory (MB)              ║ 64.632812   ║
║ Connection Memory (MB)        ║ 24.203125   ║
║ Log Pool Memory (MB)          ║ 14.085937   ║
║ Optimizer Memory (MB)         ║ 2.351562    ║
║ Granted Workspace Memory (MB) ║ 1.296875    ║
║ Cursor memory usage           ║ 0.000000    ║
║ Cursor memory usage           ║ 0.000000    ║
║ Cursor memory usage           ║ 0.000000    ║
╚═══════════════════════════════╩═════════════╝

回答:


10

そのようなメッセージを何回目にしますか?1回または2回の場合は無視できます。

この古いサポート記事DBCC MEMORYSTATUSの使用方法で説明されている「盗まれたメモリ」は次のとおりです。

盗まれたメモリは、ソートまたはハッシュ操作(クエリワークスペースメモリ)に使用されているバッファ、またはロック、トランザクションコンテキスト、接続情報などの内部データ構造を格納するための割り当て用の汎用メモリストアとして使用されているバッファについて説明します。レイジーライタープロセスは、盗まれたバッファーをバッファープールからフラッシュすることはできません。

通常、メモリはバッファプールから取得されます。実行DBCC MEMORYSTATUSして出力にStolen Pagesが高いことが示されている場合、これは、一部のプロセスが必要以上にバッファプールからメモリを盗んでいて、そのプロセスを見つける必要があることを意味します。

巨大なソート操作を実行する操作が実行されていた可能性が高く、同時にSQL Serverがメモリを大量に消費していたため、このメッセージが表示されました。OOMの問題に直面していない限り、このメッセージは警告と見なされます


-1

同様の問題が発生しているため、Google検索からこれを確認しました(メモリの盗難は合計メモリの約50%です)が、

ところで、以下のコードを見つけました

select type, name, sum((pages_kb*1024)/8192) as stolen_pages
from sys.dm_os_memory_clerks
where pages_kb > 0
group by type, name
order by stolen_pages desc;

type    name    stolen_pages
MEMORYCLERK_SQLBUFFERPOOL   Default 1710360

盗まれた%を合計メモリとして表示するようにさらに変更しました

SELECT Now = GETDATE()
    ,StolenMemory = (
        SELECT cntr_value
        FROM sys.dm_os_performance_counters
        WHERE [counter_name] IN ('Stolen Server Memory (KB)')
        )
    ,StolenMemoryPercent = 100.0 * (
        SELECT cntr_value
        FROM sys.dm_os_performance_counters
        WHERE [counter_name] IN ('Stolen Server Memory (KB)')
        ) / (
        SELECT cntr_value
        FROM sys.dm_os_performance_counters
        WHERE [counter_name] IN ('Total Server Memory (KB)')
        )
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.