12.5. 実行時の HugeTLB の設定
大規模なメモリー割り当てを必要とするアプリケーションのメモリーパフォーマンスを向上させるために、実行時に HugeTLB ページを設定します。特定の NUMA ノードに、指定したサイズで huge page を予約します。
手順
メモリー統計を表示します。
# numastat -cm | egrep 'Node|Huge'Node 0 Node 1 Node 2 Node 3 Total add AnonHugePages 0 2 0 8 10 HugePages_Total 0 0 0 0 0 HugePages_Free 0 0 0 0 0 HugePages_Surp 0 0 0 0 0指定のサイズの Huge Page 数をノードに追加します。
# echo 20 > /sys/devices/system/node/node2/hugepages/hugepages-2048kB/nr_hugepages以下の値を置き換えます。
- 20 は、予約する huge page の数で置き換えます。
- 2048 は、huge page のサイズ (KiB 単位) で置き換えます。
node2 は、ページを予約する NUMA ノードに置き換えます。
注記パスのディレクトリー名の形式は
hugepages-size_KiBです。size は KiB 単位で指定されます。実際のディレクトリー名は、システムによってhugepages-2048KiBまたはhugepages-2048kBと表示される場合があります。
検証
Huge Page の数が追加されていることを確認します。
# numastat -cm | egrep 'Node|Huge'Node 0 Node 1 Node 2 Node 3 Total AnonHugePages 0 2 0 8 10 HugePages_Total 0 0 40 0 40 HugePages_Free 0 0 40 0 40 HugePages_Surp 0 0 0 0 0詳細は
numastat(8)man ページを参照してください。