Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

Denali のメモリ管理(前編)

2011/08/29 07:00

はじめまして。日本マイクロソフト Premier Field Engineering 部の坂輪です。平山、古賀の二人によって Denali の機能について紹介が行われているこのシリーズですが、今回と次回の2回にわたって Denali で変更されたメモリ管理について紹介していきます。どうぞおつきあいください。

 はじめまして。日本マイクロソフトPremier Field Engineering部の坂輪です。平山、古賀の二人によってDenaliの機能について紹介が行われているこのシリーズですが、今回と次回の2回にわたってDenaliで変更されたメモリ管理について紹介していきます。どうぞおつきあいください。

Denaliで変わる!メモリ管理

 SQL Serverは既定でシステムの物理メモリの空き状況に応じて、自分自身が使用しているメモリのサイズを調整します。そのため、SQL Serverをインストールしているコンピュータがデータベース専用のサーバーとして使用される際は、多くの場合SQL Serverに任せておいても問題はありません。しかし、同じコンピュータで他のアプリケーションが実行される場合などで物理メモリの空きをあらかじめ残しておきたい場合、 SQL Serverの構成オプション‘max server memory’を設定されると思います。 しかし、ご存知のように 'max server memory' はバッファプールの制御を行うオプションであり、SQL Serverが獲得するメモリの全体を制御するためのものでないことは多くの方がご存知と思います。

 この制約はSQL Server 2008 R2までのメモリ マネージャのアーキテクチャに依存したものであり、SQL Server 2008で実装されたリソースガバナーにも影響を与えています。リソースガバナーはクライアントからの要求によって消費されるリソースを制御することができる機能ですが、指定できるメモリの制限は消費されるメモリのすべてを制御することはできないのです。

 このような問題から次期バージョンのDenaliではメモリ管理の仕組みが大きく変更されました。この変更を 弊社内部では、Memory Manager Re-Architecture (MMR) と呼んでいます。MMRでどのようにメモリ管理が変わったかをお話しする前に、SQL Server 2008 R2までのメモリ管理の仕組みについてご説明したいと思います。


著者プロフィール

  • 坂輪貴行(サカワ タカユキ)

      日本マイクロソフトの Premier Field Engineering 部にて、SQL Server ユーザーの支援を行う。前職はシステム エンジニアであり、長く Sybase を使用したプロジェクトに従事。業界歴 14 年の月一ゴルファー。

バックナンバー

連載:あたらしいSQL Server/Denaliの世界

もっと読む

All contents copyright © 2007-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5