如何使用 SBT 配置元空间
How to configure metaspace with SBT
我正在尝试为 SBT 配置元空间
export SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=256M -Xms2G -Xmx2G"
但是当我 运行 sbt -v
时,我有以下输出:
[process_args] java_version = '1.8.0_11'
# Executing command line:
java
-XX:+CMSClassUnloadingEnabled
-XX:MaxMetaspaceSize=512M
-XX:MetaspaceSize=256M
-Xms2G
-Xmx2G
-Xms1024m
-Xmx1024m
-XX:ReservedCodeCacheSize=128m
-XX:MaxMetaspaceSize=256m
-jar
/usr/local/Cellar/sbt/0.13.7/libexec/sbt-launch.jar
问题似乎是我的 MaxMetaspaceSize
自定义值被另一个值覆盖,如上面的输出所示。
SBT 版本:0.13.7
Java 版本:1.8
OS : OSX
似乎内存选项只有在 JAVA_OPTS
中指定时才能正确处理
设置export JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=256M -Xms2G -Xmx2G"
给予
sbt -v
[process_args] java_version = '1.8.0_40'
# Executing command line:
java
-XX:+CMSClassUnloadingEnabled
-XX:MaxMetaspaceSize=512M
-XX:MetaspaceSize=256M
-Xms2G
-Xmx2G
-jar
/usr/local/Cellar/sbt/0.13.8/libexec/sbt-launch.jar
[info] Loading global plugins from /Users/ant/.sbt/0.13/plugins
[info] Set current project to ant (in build file:/Users/ant/)
>
不确定这是错误还是功能
(从找到解决方案的亲爱的同事那里复制粘贴)
sbt -mem 2048
=>
-Xms2048m
-Xmx2048m
-XX:ReservedCodeCacheSize=256m
-XX:MaxMetaspaceSize=512m
默认元空间基于使用“-mem”选项指定的 xmx 值;-)
export SBT_OPTS="-XX:MaxMetaspaceSize=512m -Xms1024m -Xmx1024m"
在 sbt 0.13.11 中为我工作:
sbt -v
[process_args] java_version = '1.8.0_91'
# Executing command line:
java
-XX:MaxMetaspaceSize=512m
-Xms1024m
-Xmx1024m
-jar
使用 sbt 0.13.6 或更高版本时,您可以在项目根目录中创建一个 .sbtopts 文件:
-J-XX:MaxMetaspaceSize=512M
我正在尝试为 SBT 配置元空间
export SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=256M -Xms2G -Xmx2G"
但是当我 运行 sbt -v
时,我有以下输出:
[process_args] java_version = '1.8.0_11'
# Executing command line:
java
-XX:+CMSClassUnloadingEnabled
-XX:MaxMetaspaceSize=512M
-XX:MetaspaceSize=256M
-Xms2G
-Xmx2G
-Xms1024m
-Xmx1024m
-XX:ReservedCodeCacheSize=128m
-XX:MaxMetaspaceSize=256m
-jar
/usr/local/Cellar/sbt/0.13.7/libexec/sbt-launch.jar
问题似乎是我的 MaxMetaspaceSize
自定义值被另一个值覆盖,如上面的输出所示。
SBT 版本:0.13.7
Java 版本:1.8
OS : OSX
似乎内存选项只有在 JAVA_OPTS
设置export JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=256M -Xms2G -Xmx2G"
给予
sbt -v
[process_args] java_version = '1.8.0_40'
# Executing command line:
java
-XX:+CMSClassUnloadingEnabled
-XX:MaxMetaspaceSize=512M
-XX:MetaspaceSize=256M
-Xms2G
-Xmx2G
-jar
/usr/local/Cellar/sbt/0.13.8/libexec/sbt-launch.jar
[info] Loading global plugins from /Users/ant/.sbt/0.13/plugins
[info] Set current project to ant (in build file:/Users/ant/)
>
不确定这是错误还是功能
(从找到解决方案的亲爱的同事那里复制粘贴)
sbt -mem 2048
=>
-Xms2048m
-Xmx2048m
-XX:ReservedCodeCacheSize=256m
-XX:MaxMetaspaceSize=512m
默认元空间基于使用“-mem”选项指定的 xmx 值;-)
export SBT_OPTS="-XX:MaxMetaspaceSize=512m -Xms1024m -Xmx1024m"
在 sbt 0.13.11 中为我工作:
sbt -v
[process_args] java_version = '1.8.0_91'
# Executing command line:
java
-XX:MaxMetaspaceSize=512m
-Xms1024m
-Xmx1024m
-jar
使用 sbt 0.13.6 或更高版本时,您可以在项目根目录中创建一个 .sbtopts 文件:
-J-XX:MaxMetaspaceSize=512M