Java の -Xms と -Xmx オプションの速度のトレードオフ 質問する

Java の -Xms と -Xmx オプションの速度のトレードオフ 質問する

これらの2つのコマンド

答え:

$ java -Xms10G -Xmx10G myjavacode input.txt

バ:

$ java -Xms5G -Xmx5G myjavacode input.txt

質問が2つあります。

  1. コマンド A はパラメータでより多くのメモリを予約するので、A は B よりも速く実行されますか?
  2. 実行中のプロセスとプログラムの出力にどのような影響があります-Xmxか?-Xms

ベストアンサー1

この-Xmx引数は、JVMのヒープが到達できる最大メモリサイズを定義します。プログラムをよく理解し、負荷がかかった状態でのパフォーマンスを確認し、それに応じてこのパラメータを設定する必要があります。値が小さいと、メモリ不足例外または、プログラムのヒープ メモリが最大ヒープ サイズに達すると、パフォーマンスが非常に低下します。プログラムが専用サーバーで実行されている場合は、他のプログラムに影響を与えないため、このパラメータを高く設定できます。

この-Xms引数は、JVM の初期ヒープ メモリ サイズを設定します。つまり、プログラムを起動すると、JVM はこの量のメモリを即座に割り当てます。これは、プログラムが最初から大量のヒープ メモリを消費する場合に便利です。これにより、JVM がヒープを絶えず増加させる必要がなくなり、パフォーマンスが向上します。このパラメータが役立つかどうかわからない場合は、使わないでください

要約すると、これはプログラムのメモリ動作のみに基づいて決定する必要がある妥協点です。

おすすめ記事