メモリー・アロケーターの設定#
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 を呼び出すと、対応する環境変数の効果が上書きされます。