SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for 12月 11th, 2010

SQL Server で WOW64 その 2

one comment

前回の投稿でパフォーマンスモニタのログが取得できるようになりましたので、WOW64 のメモリの使用状況を確認していきたいと思います。

WOW64 を使用していない環境 (32bit 環境) では SQL Server のメモリ使用状況は以下のようになります。

■/3GB なし
image

■/3GB あり
image

/3GB なしで 1.6GB ,/3GB ありで 2.6GB のメモリが使用できています。

 

それでは、WOW64 で動作している SQL Server 2008 R2 / Denali で同様の情報を取得してみます。

■SQL Server 2008 R2
image

■Denali
image

WOW64 のアプリケーションの場合、ユーザーモードの領域は 4GB 使用することができます。
そのため、32bit の SQL Server ではありますが、2GB 以上のメモリを使用することが可能です。
# 64bit の OS のため、/3GB スイッチも設定はないですし。

SQL Server 2008 R2 と Denali の WOW64 のメモリ使用状況を比較すると、プランキャッシュの上限に少し差が出ているようでした。
SQL Server 2008 R2 では、プランキャッシュが 1.5GB 程確保できているのですが、Denali では、1GB で頭打ちとなっています。
データとプランで使用しているメモリ合計については両バージョン共に 3.5GB となっているので、WOW64 で使用できるメモリの上限は共に同じになっていることが確認できます。
# 32bit / 64bit 共に、ユーザーモードのメモリ空間をフルには使えないみたいですね。32bit の場合は、1.6GB ぐらいで頭打ちになりますし。この辺はどうしてこのようになるのかをきちんと勉強したいと思います。

参考ではありますが、WOW64 を使用した場合のメモリについては以下の技術情報に記載がされています。
メモリ アーキテクチャ

 

WOW64 で AWE を有効にした場合どうなるかも合わせて試してみました。

■SQL Server 2008 R2 (AWE)
image

■Denali (AWE)
image

WOW64 + AWE を使用すると、4GB をフルに使用することができていますね。
# WOW64 + AWE で動作させても変わらないんだろうな~と思っていたので、ちょっと意外でした。
ただし、AWE を使用しても 4GB 以上のメモリを使用することはできていません。
また、AWE を使用することで、設定前と比較して400MB 程度使用可能なメモリが増えているのですが、この増加分はデータベースキャッシュに割り当てられており、プランキャッシュに関しては、1.5GB から変化していません。
このあたりの動きは通常の AWE と同様になるようですね。

現状、Denali では、AWE はサポートしていませんので、AWE を有効にしてもメモリのトレンドは変わりません。

AWE と WOW64 について、数回に分けて投稿してきましたがその検証で取得した値を表にしてみました。
# 数値は SQL Server 2008 R2 のものとなっており、() 内は Denali の値になります。

  データベースキャッシュ(最大) プランキャッシュ (最大) 利用メモリ (メモリ6 GB 搭載時)
/3GB なし 1.0 GB (1.0 GB) 900 MB (700 MB) 1.6 GB (1.5GB)
/3GB あり 1.5 GB (1.5 GB) 1.5 GB (1.2GB) 2.6 GB (2.5 GB)
AWE 4.1 GB (1.0 GB) 850 MB (700 MB) 4.2 GB (1.5GB)
AWE + /3GB 4.0 GB (1.5 GB) 1.4 GB (1.2GB) 4.1 GB (2.5 GB)
WOW64 3.0 GB (3.0 GB) 1.6 GB (1.0 GB) 3.5 GB (3.5 GB)
WOW64 + /3GB 4.0 GB  (3.0 GB) 1.6 GB(1.0 GB) 4.0 GB (3.5 GB)

# これらの値はあくまでも参考値ですので、環境によって変化します。

SQL Server のエンジニアの端くれなので、診断で環境を見たことはあるのですが自分でデータをとってまとめるという機会がなかったので、今回の投稿はよい機会でした~。

Written by Masayuki.Ozawa

12月 11th, 2010 at 2:37 pm

Posted in SQL Server

Tagged with , ,