私のポイントは、ヒープサイズの量が限られているため、JVMはガベージコレクションをより頻繁に実行する必要があるということです。そして実際には、それはパフォーマンスキラーですか?
3 に答える
使用するメモリの最適な量は、プログラムを実行するための最小ヒープの2〜5倍です。GCが実行される頻度は、GC後の空きメモリの量に反比例します。
実際には、それはパフォーマンスキラーですか?
それはあなたのアプリケーションに依存しますが、私はそうだと思います。
RAMはあなたの時間のコストに比べて比較的安いので、私は十分なRAMを持っていることを確認する傾向があります。16GBを80ドル未満で購入できます。
この種類は、使用しているgcとjdkに使用されているアルゴリズムによって異なります。通常のgcは、他のスレッドの実行を停止するため、キラーです。jdk 1.6以降を使用している場合は、たとえばvisualVMを使用してこれを表示できます。これを克服するためのさまざまなgcアルゴリズムがあります。ここでは、違いが最も優れているドキュメントにあなたを送ります
アプリケーションのメモリ要件と(Xmxを使用して)アプリケーションに与えるメモリ割り当てとの間の適切なバランスを見つけることは、重要なパフォーマンス調整アクティビティです。
はい、ヒープを十分に大きくして、JVMが一定のGCでスラッシングしないようにする必要があります。これは、パフォーマンスを大幅に低下させる可能性があります。
必要なヒープサイズは、アプリケーションによって異なります。