メモリー・アロケーターの設定

メモリー・アロケーターの設定#

oneTBB メモリー・アロケーターは、動作を構成する次の API 関数と環境変数を提供しています。

  • scalable_allocation_command 関数は、内部メモリーバッファーのクリーンアップなどの特定のアクションを実行するようアロケーターに指示します。

  • scalable_allocation_mode 関数を使用すると、アプリケーションは、メモリーをヒュージページにマップするオプションや、推奨ヒープサイズを定義するオプションなど、メモリー・アロケーターのパラメーターを設定できます。これらの設定は、scalable_allocation_mode の別の呼び出しで変更されるまで有効です。

一部のメモリー・アロケーターのパラメーターは、システム環境変数によって設定することもできます。これは、アプリケーションのソースコードを変更することなく動作を調整したり、設定が可能な限り早く有効になるようにしたり、oneTBB アロケーター・バイナリーへの明示的な依存関係を回避するのに役立ちます。次の環境変数が認識されます。

  • TBB_MALLOC_USE_HUGE_PAGES は、ヒュージページのメモリーマッピングを制御します。

  • TBB_MALLOC_SET_HUGE_OBJECT_THRESHOLD は、通常のクリーンアップ操作中に解放されない「ヒュージ (巨大)」として解釈されるサイズの下限(バイト単位)を定義します。

これらの変数はメモリー・マネージャーが初期化されたときにのみ有効になり、その後、環境の変更は無視されます。scalable_allocation_mode を呼び出すと、対応する環境変数の効果が上書きされます。