1. ホーム
  2. java

[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?

2022-02-19 22:47:26

質問

の使い方を教えてください。 XmsXmx JVMのパラメータについて教えてください。それらのデフォルト値は何ですか?

解決方法は?

フラグ Xmx は、Java 仮想マシン (JVM) の最大メモリ割り当てプールを指定し、一方 Xms は、初期メモリ割り当てプールを指定します。

これは、JVMを起動する際に Xms のメモリ量を使用し、最大で Xmx の量のメモリが必要です。例えば、以下のようにJVMを起動すると、256MBのメモリで起動し、プロセスは最大2048MBのメモリを使用することができるようになります。

java -Xms256m -Xmx2048m

また、メモリフラグは、キロバイト、メガバイトなど、さまざまなサイズで指定することができます。

-Xmx1024k
-Xmx512m
-Xmx8g

Xms フラグにはデフォルト値がなく Xmx 通常、デフォルト値は256MBです。これらのフラグの一般的な使い方は java.lang.OutOfMemoryError .

これらの設定を使用する場合、JVMの ヒープ そして、JVMは、ヒープに割り当てられたサイズよりも多くのメモリを使用することができ、また使用することになります。より オラクルのドキュメント :

<ブロッククオート

JVMが使用するメモリはヒープだけではないことに注意してください。例えば、Javaメソッド、スレッドスタックとネイティブハンドルは、JVM内部データ構造と同様に、ヒープとは別のメモリに割り当てられています。