- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL Serverで使用されるメモリについて)
SQL Serverで使用されるメモリについて
このQ&Aのポイント
- SQL Serverのメモリ使用量に関する疑問と、パフォーマンス監視におけるメモリ制限の考慮について解説します。
- SQL Serverのメモリサイズは積んでいるメモリによって変わります。現在の設定では60%以上のメモリ使用率が常に維持されています。
- メモリ使用率を60%未満に抑えるためには、オプションで使用メモリの上限値を設定することができますが、可能な限りメモリを制限せずに使用したいと考えています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>SQL Server2008 R2 Standard 引用先の情報は SQL Server 2008は該当しませんね。 まぁ設定方法は同じでしょうけれど。 SQL Server2008ではOSが32bitの場合であっても AWE (Address Windowing Extensions) がサポートされているので 4GB を超える物理メモリを使用できます。 さて、Mircosoft SQL Serverは最大サーバメモリを絞ってないと、すぐに実メモリを食いつぶしてしまうようです。 主にDBのキャッシュとして使われますがこれは基本的に開放されることは無く、空きメモリがほとんど無い状態となってします。 マイクロソフト側はこれに関して、「空きメモリが減ってもDBサーバとしての性能に影響はない」と言っています。 確かに「DBサーバ」には影響が無いように見えますが、他の動作にかなり影響します。 例えばメンテナンスでRAIDユーティリティを動かしたり、リモートメンテナンス時のアクセスがかなり緩慢になりますね。 一時的にSQLの仕様メモリを開放する方法です。 「オブジェクトエクスプローラー「を右クリックし、プロパティを選択します。 「ページの選択」から「メモリ」を選び、「最大サーバーメモリ」のサイズを変更します。 メモリ量を設定したら「OK」をクリックして完了です。 で、最後に質問の回答 >SQLで使用されるメモリサイズは、積んでるメモリサイズによって変わるのでしょうか。 最大サーバーメモリーサイズを設定していない(デフォルト)の場合、搭載メモリサイズによって変わります。 利用可能なメモリサイズの空容量が10MBから4MBになるまでどんどん使用してしまいます。
お礼
foitecさま 早速試してみました。 とりあえず、「最大サーバーメモリ」を2GBに変更してみました。 変更後、しばらくは(使用されていた3.8GBが2GBまで下がるまで) 負荷がかかっていたようで、その間はSQLへのアクセス等が重くなりましたが 2GBに落ち着いたら、変更前とそれほど変わりませんでした。 その後、3GBに変更したので、少しずつ食い潰していって 数日後には上限3GBで落ち着くんだと思います。 色々勉強になりました。 ありがとうございました。
補足
foitecさま ご回答ありがとうございます。 >引用先の情報は SQL Server 2008は該当しませんね。 失礼しました。よくよく見たら2000と2005の情報でした。 >一時的にSQLの仕様メモリを開放する方法です。 についてですが、現状SQL Serverだけで3.8GBのメモリが使用 されている状態なのですが、この状態で「最大サーバーメモリ」を 仮に3GBに変更した場合、このタイミングで0.8GBが解放されると いうことでしょうか。 SQL以外では約1.5GBメモリを食っているようです。 通常のメモリ使用量(SQL、その他含め)を全体の60%未満(約4.74GB未満) にしたいので「最大サーバーメモリ」を3GBにしたいと考えているのですが、 現状3.8GB使用されているメモリを3GBに変更することによって SQLの使用感というかレスポンスが大きく変わってしまうって ことはあるのでしょうか。 度々の質問すみません。 宜しくお願い致します。