TOPサーバ構築・運用> DB2設定での対応
Linux+DB2
Linux+DB2のパフォーマンスチューニング

第10回:メモリ管理で安定稼動
著者:日本アイ・ビー・エム  中坪 宏明   2007/2/19
前のページ  1  2   3  次のページ
DB2設定での対応

   一方のDB2設定での対応は、2通りあります。以降では、それらについて解説していきます。

DB2の処理でページキャッシュを使わない方法

   DB2側の対応方法の1つとして、ページキャッシュ使用量を抑え、DB2でページキャッシュを使用しないことを検討します。

   具体的には、表スペースの定義でraw deviceを利用する、あるいはdirect i/oを利用することを検討します。direct i/oは、create tablespace文において「no file system caching」のオプションをつけるだけで利用可能です。

   なお一般に、DB2の一時表スペースはSMSのタイプ(注1)が推奨ですが、一時表スペースを大量に利用するような処理が多くある場合(情報系システムなど)では、direct i/oおよびraw deviceの利用を検討してください。

注1: file systemベースで、ページキャッシュを利用して性能向上をはかるタイプ


Linux上でメモリをロックする方法

   DB2のメモリをスワップされないようにするためには、2つの方法があります。

   1つ目としてあげられるのが、DB2登録変数を「DB2_PINNED_BP=YES」に指定することです。この指定は、DB2のデータベースグローバル・メモリをLinux上でロックして、スワップされないようにする指定です。

   なお、連載の「第6回:DB2の設定情報を取得する(前編)」でDB2のメモリの種類について説明しましたが、DB2が利用するメモリの多くは、このデータベースグローバル・メモリとなります。

   このように設定することで、以下のように、共用メモリがLinux上で、ロックされていることがわかります。

[db2inst1@db2v9svr ~]$ ipcs -m

------ 共有メモリセグメント --------
キー        shmid    所有者    権限  バイト      nattch  状態
0x4d6d1b74  5832715  db2inst1  767   39987136    21
0x4d6d1b61  5865484  db2inst1  701   23461888    19
0x00000000  5898253  db2inst1  701   23052288    20
0x4d6d1c68  5931022  db2inst1  761   50331648    1
0x00000000  5996560  db2inst1  701   1073741824  8       ロック
0x00000000  6029329  db2inst1  701   1073741824  8       ロック
0x00000000  6062098  db2inst1  701   1073741824  8       ロック
0x00000000  6094867  db2inst1  701   1073741824  8       ロック
0x00000000  6127636  db2inst1  701   1073741824  8       ロック
0x00000000  6160405  db2inst1  701   1073741824  8       ロック
0x00000000  6193174  db2inst1  701   1073741824  8       ロック
0x00000000  6225943  db2inst1  701   587415552   8       ロック

前のページ  1  2   3  次のページ


日本アイ・ビー・エム  中坪 宏明
著者プロフィール
日本アイ・ビー・エム株式会社  中坪 宏明
インフォメーション・マネジメント・テクニカル・セールス所属
DB2の技術支援(設計支援、パフォーマンス・チューニング、障害解決支援、案件サポートなど)を10年以上実施している。Linuxをはじめとして各オペレーティングシステムおよびハードウェアとの組み合わせでの機能検証および性能検証も実施している。


INDEX
第10回:メモリ管理で安定稼動
  データベースサーバにおけるメモリ管理の重要性
DB2設定での対応
  Linuxラージページの利用