Windows Server 2008 R2の奇妙なメモリ使用量


20

誰かが助けてくれることを願っています。16GBのRAMを搭載したWindows Server 2008 R2マシンを使用して、使用可能なすべてのメモリを何かに食わせ続けています。中には何もタスクマネージャまたはリソースモニタは 300メガバイト以上のメモリを使用して任意のプロセスを明らかにしていない...しかし、サーバ上のメモリ使用量が15.7ギガバイトです。

https://i784.photobucket.com/albums/yy129/ThunderPeel2001/ram-usage.gif

実行されているのは、SQL Server 2008およびIIS7.5(ASP.Netを使用)のみです。

注:再起動後のRAM使用量は少なくなり、上に向かっていきます。一週間かそこら後、私たちはこの状況で自分自身を見つけ続けます。

私たちのすべての記憶を食べているものを見つけるにはどうすればよいですか?:(


1
「SQL ServerのRAM使用量(最小/最大)を13GBに制限したので、これは二度と起こらないはずです」。Win 2008 R2マシンでSQL 2008 R2を実行していますが、同じ問題に直面しています。

これは、SQL Server Studio内の設定です。がんばろう!
ジャンゴラインハルト

回答:


15

これは64ビットサーバーですか?メモリ内のロックページポリシーが有効になっていますか?SQLがメモリの残りを消費している可能性が高いperfmonカウンタを見ると、メモリの割り当てがわかります。

これを詳細に説明する記事があります

SQLでカウンターを表示することもできます

SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value * 8192.0 ) / 1048576, 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    object_Name LIKE '%Buffer Manager%'
    AND RTRIM(counter_name) IN ( 'Free pages', 'Total pages',
                                 'Database pages' ) 
UNION SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value / 1024 ), 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    counter_name IN ( 'Target Server Memory (KB)',
                      'Total Server Memory (KB)' )

2
これがすべてを説明します。メモリ使用量は「使用可能なすべてを使用」(つまり2000TB)で、ページがRAMでロックされていたため、使用中にすべてがアクセスできなかった。SQL ServerのRAM使用量(最小/最大)が13GBに制限されたため、これは二度と起こらないはずです。また、変更を監視するためのツールもいくつか用意されています。ご協力いただきありがとうございます!
ジャンゴラインハルト

>>現在、変更を監視するためのツールがいくつかあります-どのツールを使用しましたか?
デヴィッドクリスチャンセン

6

クイックテスト:SQL Serverを再起動します。
別の簡単なテスト:IISを再起動します。

それらの1つが犯人であるかどうか、または他の場所を調べる必要があるかどうかは確実にわかります。


SQLが犯人だったようです!
ジャンゴラインハルト


1

実際にメモリ関連の問題が発生していますか?

メモリ使用量は実際にインストールされているメモリより高くなりますか、それとも単にいっぱいになってそこに留まりますか?

メモリがいっぱいになっただけで問題が発生していない場合は、キャッシュが機能しているだけです。メモリは、実際に必要な場合に自動的に再割り当てされます。

メモリ使用量が物理的な制限を超え、サーバーが停止する場合、メモリリークが発生しているので、間違いなくデバッグする必要があります。

「キャッシュ」トピックに関する興味深い記事:

http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx
http://blogs.msdn.com/ntdebugging/archive/2007/10/10/the-memory -shell-game.aspx
http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx


さて、サーバーをリセットせずに重要なWindows更新プログラムをインストールすることはできませんでした。RAMが不足し続けているためです。とてもばかげています。それを使用しているものは何でも、それを返したくありませんでした。
ジャンゴラインハルト


0

最初に、前述したように、パッチを適用し、それが問題を解決するかどうかを確認します。

第二に、それがうまくいかなかった場合は、Process Explorerを使用して、メモリの使用状況をよく調べてください。[表示]メニューに移動し、[列の選択]、[メモリの処理]、[プライベートバイト]、[仮想サイズ]および[ワーキングセットサイズ]オプションを確認します。ここで何が悪いのかを確認してください。

抜本的なアプローチは、サービスの停止を試みることです。たとえば、IISは、アプリケーションプールとWebガーデンが誤って構成されている(それらが多すぎる)場合、完全なメモリピッグになる可能性があるため、候補になります。

がんばろう!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.