0

我正在调整我的 JVM 应用程序。我设置的 JAVA_OPTS 如下:

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
JAVA_OPTS="$JAVA_OPTS -server"
JAVA_OPTS="$JAVA_OPTS -Xms2048m"
JAVA_OPTS="$JAVA_OPTS -Xmx2048m"
JAVA_OPTS="$JAVA_OPTS -XX:NewSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:MaxNewSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=256m"

我大致了解了几代人。但我不确定我的设置是否合适。据我了解,新生代的大小是256,所以剩余(1792m)是老年代的大小(因为Perm代不是堆)。

我对吗?我的设置合适吗?

4

1 回答 1

1

一般 Java 应用程序的最佳设置是

JAVA_OPTS=""

或者为什么 Java 作者应该指定每个人都会更改的默认值。

在不了解您的应用程序和可用内存的情况下,更改默认值是没有意义的。

实际上,-Dfile.encoding=UTF-8如果您想在默认情况下使用其他东西的系统上使用 UTF-8 可能是有意义的(但更改操作系统会更好)。忘记其他人,除非您知道需要多少内存(然后使用-Xmx并仍然忘记剩余的内存)。

于 2014-06-20T18:49:31.290 回答