TimesTen データベースが使用するメモリにはヒュージ ページを使用することが推奨されていると聞きました。あれは正しいですか?その場合、OS と TimesTen がヒュージ ページを使用するように構成するにはどうすればよいですか?
1 に答える
データベースのサイズが 256 GB 以上の場合はヒュージ ページを使用すると便利です。透過的なヒュージページではなく、明示的に構成されたヒュージ ページを使用する必要があります。適切な OS を構成するには、次のことを行う必要があります。
必要なヒュージ ページの合計数 (同時にアクティブなすべてのデータベースの合計) を決定します。データベースごとに、データベース共有メモリ セグメントのサイズを決定し、システムのヒュージ ページ サイズ (デフォルトは 2 MB) で割り、切り上げます。これらの値を合計して、ヒュージ ページの数を取得します。システム上の他のすべてのアクティビティのために、ヒュージ ページに割り当てられていない十分なメモリを残しておくことが重要です。
ファイル/etc/sysctl.confを編集し、次の行を追加 (または変更) します。
vm.nr_hugepages = N
ここで、Nは決定した値です。
- この行を追加/変更する必要もあります
vm.hugetlb_shm_group = timesten_instance_admin_gid
timesten_instance_admin_gidは、TimesTenインスタンス管理者であるユーザーの数値グループIDです。
TimesTenインスタンス管理者ユーザーが十分なメモリーをロックできることを確認してください(ヒュージ・ページは常にロックされます)。通常、これは/etc/security/limits.conf (memlock パラメーター) のエントリを介して行われますが、systemd で TimesTen デーモンを実行している場合は、その環境で設定を適用する方法について関連ドキュメントを参照する必要があります。
上記の変更を行う必要があった場合は、システムを再起動してください。
予想される数のヒュージ ページが構成され、使用可能になっていることを確認します ( cat /proc/meminfo )。
TimesTen 18.1以降では、データベース・メモリー・セグメントの作成時にヒュージ・ページを自動的に使用しようとします。試行が失敗すると、代わりに通常のメモリを使用するようにフォールバックしようとします。そのため、TimesTen 側で特別な構成は必要ありません。