SQL Server 2014 Developer Editionを使用しています。実行後にSQL Serverがメモリを解放しない
SQL Serverはサーバー上で実行されており、実行中に約60 GBのメモリを占有しており、実行完了後に解放されません。
これをお勧めします。
私は通常の状態にそれを減らしたいです。
SQL Server 2014 Developer Editionを使用しています。実行後にSQL Serverがメモリを解放しない
SQL Serverはサーバー上で実行されており、実行中に約60 GBのメモリを占有しており、実行完了後に解放されません。
これをお勧めします。
私は通常の状態にそれを減らしたいです。
SQLサーバは、専用のSQLサーバー・マシンではないマシン上で複数のインスタンスを持つことが一般的ですが、SQL Serverが埋め込まれているかどこLocalDBはの一部としてインストールされていますオペレーティングシステムコンポーネント、またはアプリケーションの一部として使用できます。
これらの状況では、互いのつま先を踏まないように各インスタンスにメモリを割り当てることが適切です。
さらに、一部のアプリケーションでは、データベースだけでなく、メモリとプロセッサーによる処理が集中するアプリケーション処理の両方を頻繁に使用します。データベースとの間で多くの転送がある場合、共有メモリ接続を使用できるため、アプリケーションと同じマシンにDBを配置してIOコストを削減することが理にかなっています。この場合も、SQLサーバーの使用可能メモリ量を割り当てる必要があります。
開発マシンはこのの完璧な例です。通常、SQL Server開発エディションがインストールされ、それに加えてデータベースプロジェクトによってSQL Server LocalDBのインスタンスが作成されます。あなたが比較的低いこの値を維持したいあなたのDevのマシンのためにそれを
を行うにはどのように
すべきではないと感じた場合は、次のSQLを実行することができます:
EXEC sys.sp_configure N'show advanced options', N'1' ;
RECONFIGURE WITH OVERRIDE;
EXEC sys.sp_configure N'max server memory (MB)', N'512';
RECONFIGURE WITH OVERRIDE;
EXEC sys.sp_configure N'show advanced options', N'0';
RECONFIGURE WITH OVERRIDE;
の使用量を削減しますLocalDBインスタンスも同様ですが、各LocalDBインスタンスに接続して同じコマンドを使用するだけです。
は例えば、ほとんどの256メガバイトで使用するすべてのLocalDBインスタンスを設定するには:
$MaxServerMemory = 256
@(& sqllocaldb info) | %{
"Reconfiguring (LocalDB)\$_"
& sqlcmd.exe -E -S "(LocalDB)\$_" -Q "EXEC sys.sp_configure N'show advanced options', N'1' ;RECONFIGURE WITH OVERRIDE;EXEC sys.sp_configure N'max server memory (MB)', N'$MaxServerMemory';RECONFIGURE WITH OVERRIDE;EXEC sys.sp_configure N'show advanced options', N'0'; RECONFIGURE WITH OVERRIDE;" *>&1
""
}
SQL Serverがメモリを好きと同じくらい、それを使用するために利用可能であるとして使用されます - これは仕様によるものとに非常に多くのご恩恵を受けるか、それがどのように実行されるか。 Google for *はSQL Serverの最大メモリを設定します*あなたが上限を課す魅力的な理由がある場合。 –
SQL Serverはメモリホーダです。一度それはそれがそれを行かせないいくつかの空きメモリに手をつかむ取得します。これはバグではなく、機能です。 –
アレックスに感謝しますが、それはあまりにも(私は最大として設定されます)だけを使用するように私をバインドされます。私は、実行中にサーバ上にあるものと同じくらい多くのメモリを使いたいです。しかし、実行が完了すると(理想的な状態のSQL)、それをリリースする必要があります。 –