3

この簡単なコマンドを試しました:

 java -XX:+UseLargePages -Xms2g -version

次のエラーが表示されます。

Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve 
shared memory (errno = 12).

しかし、大きなページがなくても問題なく動作します。

meminfo 出力:

HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB
4

2 に答える 2

4

Linux でヒュージ ページを動作させるには、2 つのことが必要です ( Oracle のドキュメントを参照)。1) 使用可能な共有メモリの最大量 shmmax は、JVM ヒープ サイズより大きくする必要があります。2) JVM ヒープをサポートするには、ヒュージ ページを有効にし、十分に利用できる必要があります。

shmmax のランタイム設定は /proc/sys/kernel/shmmax にあります。

hugepage 数のランタイム設定は /proc/sys/vm/nr_hugepages にあります。

これらの設定を再起動後も維持したい場合は、sysctl を介して設定する必要があります。

したがって、4GB の最大ヒープを指定する場合、shmmax は >= 4GB である必要があり、2MB ページでは nr_hugepages は >= 2K である必要があります。

コマンド ラインでは、最大ヒープ サイズも指定する必要があります。

于 2014-06-16T14:59:00.233 に答える
-1

ヒュージ ページが 2MB (2048 kB) しかなく、ヒープ サイズが最小で 2 GB であるため、これは機能しません。

于 2014-06-16T13:40:02.757 に答える