2016-12-20 3 views
0

私はJVM構成を見つけました。構成された大きなページのサイズは、JVMの割り当てられたヒープサイズよりはるかに大きくなっています。JVMラージ・ページ・サポート:ラージ・ページがヒープより大きい場合にメモリーが無駄になりますか?

以下に追加した設定はWebsphere Application Serverの設定ですが、大きなページを使用している他のJavaアプリケーションでも問題は同じです。一般大きなページに が-Xlp(IBM Knowledge Center- Tuning Linux systems)スイッチとOracleのための-XXを使用してを使用してIBM JREが有効になっている:+ UseLargePages(Oracle: Java Support for Large Memory Pages

現在の設定は

vm.nr_hugepages = 4096 
Hugepagesize: 2048 kB (from meminfo) 
-Xmx 6144 (for java process) 

を示しており、JVMで始まります - Xlpが有効になっています。

私は、vm.nr_hugepagesによって8GBが固定されているため、他のプロセスでは使用できないと仮定します。 しかし、JavaはHeapに対して6GBしか請求しません。

誰でも他の2GBに何が起こるか説明できますか?

ありがとうございます!

答えて

0

残りの2GBの巨大なページは、アプリケーションがそれらを使用するのを待っている連続した実メモリに固定されています(JVMの設定だけでは、残りの巨大なページを使用するのに十分なヒープが成長しません)。そのメモリは潜在的な呼び出し元以外のものには使用できません。

巨大ページカーネルオプション

のhugepages

は、ブート時に カーネルに構成された永続的な膨大なページ数を定義します。デフォルト値は0です。 物理的に連続する空きページがシステムに十分な場合、巨大なページを割り当てる(または割り当てを解除する)のは、 のみです。この によって予約されたページは、他の目的では使用できません。

が存在する可能性のたるみ空間に無意識のアプリケーションを移動することで、この種の問題のいくつかを解決しようとすると、後のLinuxのリリースでは、「透明の巨大なページ」オプションがあるが、多くの愛を得ることはありませいるようです。

+0

ありがとうCovener設定を調整します! – user3170555

関連する問題