我正在尝试为SBT配置metaspace
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
操作系统: OSX
发布于 2015-03-27 14:03:58
(从找到解决办法的亲爱的同事那里抄袭)
sbt -mem 2048=>
-Xms2048m
-Xmx2048m
-XX:ReservedCodeCacheSize=256m
-XX:MaxMetaspaceSize=512m默认的元空间基于用"-mem“选项指定的xmx值;-)
发布于 2017-02-07 11:17:04
当使用SBT0.13.6或更高版本时,您可以在项目根目录中创建一个.sbtopts文件:
-J-XX:MaxMetaspaceSize=512M发布于 2015-03-24 16:12:20
似乎只有在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/)
>不确定是bug还是特性
https://stackoverflow.com/questions/28702366
复制相似问题