SQL Server のトレースフラグ (TF) で 834 というオプションがあります。
Sysinternals の VMMap を使うとこの TF による変化を見ることができますので、今回はこれについてまとめてみたいと思います。
メモリの詳しいことに関してはこちらがとても参考になります。
# この情報見て、VMMap で見ればいいんだな~ということに気づきました。
Contents
■TF834 について
海外の Tech Ed の SQL Server のセッションではたまに出てくるトレースフラグなのですが日本語の情報だと以下の KB に記載されているぐらいかな~と思います。
作業負荷の高いパフォーマンスで実行するときのチューニング SQL Server 2005 の SQL Server 2008 のオプション
トレース フラグ 834: バッファー プールの Microsoft Windows を使って大きいページの割り当て
トレース フラグ 834 と SQL Server バッファー プールの割り当てはメモリを Microsoft Windows の大きいページの割り当てを使用します。 ページ サイズ、ハードウェア プラットフォームによって異なりますが、16 MB に 2 MB からがあります、ページのサイズ。 大きなページは起動時に割り当てられ、プロセスの有効期間中は保持されます。 トレース フラグ 834 には、CPU の翻訳ルックアサイド バッファー (TLB) の効率を向上によってパフォーマンスが向上します。
トレース フラグ 834 は 64 ビット バージョンの SQL Server にのみ適用されます。 トレース フラグ 834 を有効にする メモリ内でページのロック ユーザー権利を持つ必要があります。 起動時にのみトレース フラグ 834 点灯ことができます。
トレース フラグ 834 が、サーバー起動しないようにメモリが断片化されている場合と大きなページを割り当てられません。 したがって、トレース フラグ 834 は専用 SQL Server のサーバーに最適です。
Windows での大きいページのサポートの詳細については、ご覧次マイクロソフト開発者向けネットワーク (MSDN) 下さい。http://msdn2.microsoft.com/en-us/library/aa366720.aspx (http://msdn2.microsoft.com/en-us/library/aa366720.aspx)
TF については sqlcentral.com の以下の情報でまとめられており、こちらもとても参考になります。
# Undocument の TF が数多く紹介されています。
SQL Server Trace Flags
■VMMap でみる TF の設定
この TF834 ですが、Sysinternals の VMMap を使うと設定前後の状態がわかりやすく表示できました。
今回は [max server memory] を 10GB に設定をしています。
こちらが TF834 を設定する前の [sqlservr.exe] の VMMap の情報になります。
SQL Server では初期状態では、必要なメモリのみ確保していますので、[Private Data] の [Committed] は [max server memory] の値と同じにはなっていません。
SQL Server を使用していて、メモリの確保が必要になると [Committed] のメモリが増えていき、最終的に [max server memory] まで確保されます。
TF834 を設定した場合の起動直後の sqlservr.exe の VMMap の内容がこちらになります。
TF を設定した場合、起動直後から [Committed] が [max server memory] の設定 (10GB) になっていることが確認できます。
この TF ですが、メモリが断片化している場合は連続した領域が取得できないため [max server memory] の設定値のメモリを確保できないことがあり、SQL Server 専用や起動時に TF が有効になっていない場合などは想定していたメモリサイズを確保できないことがあるようです。
また、SQL Server の起動時にメモリを [Committed] 状態にするので、起動時間にも影響することがあるようです。
VMMap を使うとこの TF のイメージが思い浮かべやすかったのでメモとして。
[…] VMMap でみる TF834 の設定 で紹介したように SQL Server […]
SQL Server の 3 種類のメモリモデル « SE の雑記
20 7月 12 at 09:05