我正在调整我的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生成不是堆)。
我是对的吗?我的设置是否合适?
答案 0 :(得分:1)
普通Java应用程序的最佳设置是
JAVA_OPTS=""
或者为什么Java作者应该指定每个人都会改变的默认值。
在不了解您的应用程序和可用内存的情况下,更改默认值是没有意义的。
实际上,-Dfile.encoding=UTF-8
可能是有意义的,如果你想在默认情况下使用其他东西的系统上使用UTF-8(但更改操作系统会更好)。忘记其他人,除非你知道你需要多少记忆(然后使用-Xmx
并仍然忘记其余记忆。)