Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


3.9.3 Hugepage機能の適用(Linux限定)

Linux版の64ビット版OpenTP1では,次に示す共用メモリにLinuxのHugepage機能を適用することができます。

Hugepage機能を適用すると,共用メモリの管理する単位(ページサイズ)が4KBから2MBに拡大されます。ページサイズが拡大されると,ページごとに必要となるOS管理領域(PTE:Page Table Entry)を小さくできます。PTEは共用メモリを使用するプロセスごとにも必要となるため,プロセス増加時のメモリ消費量を軽減できる場合があります。

〈この項の構成〉

(1) 動作環境の設定

Linuxのカーネルパラメタで,Hugepage機能を有効にする設定をしてください。Hugepage機能を有効にするカーネルパラメタの設定をしていない場合,または設定した値が不十分である場合は,共用メモリの確保に失敗し,OpenTP1は起動しません。

次に,Hugepage機能を有効にするときに指定するカーネルパラメタと,指定値の見積もり方法について説明します。

(a) Hugepage機能を有効にするときに指定するカーネルパラメタ

Linuxのカーネルパラメタの指定値の目安を次の表に示します。なお,指定値を有効にするにはOSを再起動してください。

カーネルパラメタ

指定値の目安

オプション設定ファイル※1

vm.nr_hugepages

下記「OpenTP1が必要とするvm.nr_hugepagesの求め方」を参照して求めた値を指定してください。すでに値が指定されていた場合は,既定値に求めた値を加算してください。

/etc/sysctl.conf

vm.hugetlb_shm_group

Hugepage機能を使用するグループIDを指定してください。※2

/etc/sysctl.conf

soft memlock

OpenTP1管理者のユーザIDを対象として,unlimitedを指定してください。

/etc/security/limits.conf

hard memlock

注※1

使用しているOSのバージョン,およびカーネルのバージョンごとに異なります。使用しているOSのマニュアルを参照し,表中の指定値で示した値を指定してください。

注※2

このパラメタに指定した値を,プロセスサービス定義のprc_hugepage_group_idオペランドに指定してください。

(b) OpenTP1が必要とするvm.nr_hugepagesの求め方

次に示す計算式を用いて,OpenTP1が必要とするvm.nr_hugepagesを求めます。サーバマシン内にこの機能を適用するOpenTP1システムを複数構成している場合,各システムで値を算出し,その合計値を用いて計算してください。

OpenTP1が必要とするvm.nr_hugepages= A+B+C
(凡例)

↑↑:小数点以下を切り上げます。

A:システムサービス用共用メモリプールが必要とするvm.nr_hugepages

  • システムサービス用共用メモリプールにHugepage機能を適用する場合:

    ↑マニュアル「OpenTP1 システム定義」の共用メモリプールのサイズの算出式で算出した値÷2048↑

  • システムサービス用共用メモリプールにHugepage機能を適用しない場合:0

B:DAMサービス用の共用メモリが必要とするvm.nr_hugepages

  • DAMサービス用共用メモリプールにHugepage機能を適用する場合:

    ↑マニュアル「OpenTP1 システム定義」のDAMサービス用の共用メモリの算出式で算出した値÷2097152↑

  • DAMサービス用共用メモリプールにHugepage機能を適用しない場合:0

C:TAMサービス用共用メモリが必要とするvm.nr_hugepages

  • TAMサービス用共用メモリプールにHugepage機能を適用する場合:

    ↑マニュアル「OpenTP1 システム定義」のTAMサービス用の共用メモリの算出式で算出した値÷2097152↑

  • TAMサービス用共用メモリプールにHugepage機能を適用しない場合:0

(2) Hugepage機能適用の方法

共用メモリにHugepage機能を適用する方法について,共用メモリの種別ごとに説明します。