Oracle の JVM の最小 -Xmx 設定はありますか? -Xmx2M は、アプリケーションに 2 MB を超えるヒープ サイズを提供しているように見えます。
JVM がサイレントに Xmx 設定を無視する最小値はありますか?
私が走れば
public static void main(String[] args) {
System.out.println("Heap size is " + Runtime.getRuntime().totalMemory() / 100000 / 10.0 + " MB");
}
-mx8m
Java 7 update 25 64-bitで
Heap size is 8.0 MB
しかし、私が一緒に走ると-mx2m
、
Heap size is 3.2 MB
したがって、非常に小さなサイズで要求したよりもわずかに多くのヒープが得られるようです。ただし、小さなモバイル デバイスの場合でも、JVM 自体がはるかに大きい (共有メモリ、スレッドなどで 100 MB を超える可能性がある) ため、最後の 1 MB をすべて気にする必要はありません。
つまり、数 MB を割くことができない場合、JVM を実行することはできません。
jvm を開始するには、最低 2 MB のヒープサイズが必要です。ヒープ サイズを 0 バイトに設定できますが、jvm は起動しません。また、推奨される最大ヒープ サイズは、合計 RAM の 1/4 です。