これについてのご意見をお願いします。SQL Server 2008r2 Entがあります。エド。16コアおよび64GB RAMを備えた64ビット。20111014の時点で完全に修正されたSQLサーバーのインスタンスが1つあります。
最大RAMは60000MBに設定されています。オンラインで数日後のタスクマネージャーによると、フリーラムの量は0です。
最大RAMを53GB未満に変更すると、数日後に安定し、空きRAMが確保されます。
タスクマネージャーに従ってRAMを割り当てるのは、SQLプロセスです。問題が実際に何であるかをどのように判断しますか?言うまでもなく、私は既に多くのテストを行ったが、これを私の好みにまだ解決していない。また、使用可能なRAMが0になったときに、通常のメモリ不足が発生することはありません。
更新1:
このページ/dba//a/7062/2744の RAMに関する別のQ / Aに触発されました。これら2つを使用して、RAMの用途を確認しました。
SELECT TOP ( 10 )
[type] AS [Memory Clerk Type] ,
SUM(single_pages_kb) AS [SPA Mem, Kb]
FROM sys.dm_os_memory_clerks
GROUP BY [type]
ORDER BY SUM(single_pages_kb) DESC
OPTION ( RECOMPILE ) ;
SELECT DB_NAME(database_id) AS [Database Name] ,
COUNT(*) * 8 / 1024.0 AS [Cached Size (MB)]
FROM sys.dm_os_buffer_descriptors
--WHERE database_id > 4 -- system databases
-- AND database_id <> 32767 -- ResourceDB
GROUP BY DB_NAME(database_id)
ORDER BY [Cached Size (MB)] DESC
OPTION ( RECOMPILE ) ;
これらによって示される使用量は、最初に選択された7948432 Kb、2番目の1つ44030,57812 MBであり、SQLサーバーで使用される合計約52GBです...それで、残りのRAMはどこに行きましたか?:-)タスクマネージャーは、現在キャッシュ363、使用可能401、無料40、sqlservr.exeにはメモリプライベートセット64 459 656が表示されています。以前と同様に最大RAMが60000MBに設定されています。