 |
|
前のページ 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をはじめとして各オペレーティングシステムおよびハードウェアとの組み合わせでの機能検証および性能検証も実施している。
|
|
|
|