18
votes

Per this helpful post, I removed my ~/.sbtconfig, and added .sbtopts:

$cd myProject
$cat .sbtopts
-J-Xmx4G
-J-XX:+CMSClassUnloadingEnabled
-J-XX:MaxPermSize=4G 

Then I ran sbt. How can I, via the sbt console, verify those options set in .sbtopts?

3
Kevin, were you able to get an answer for this?marios

3 Answers

16
votes

If you man sbt, you'll see that there's a debug flag; so, you'll see something like this:

$ sbt -d
[process_args] java_version = '1.7.0_72'
# Executing command line:
java
-Xms1024m
-Xmx1024m
-XX:ReservedCodeCacheSize=128m
-XX:MaxPermSize=256m
-XX:+CMSClassUnloadingEnabled
-XX:+UseConcMarkSweepGC
-jar
/usr/share/sbt-launcher-packaging/bin/sbt-launch.jar

Here's my sbtopts file: /usr/share/sbt-launcher-packaging/conf/sbtopts

-J-XX:+CMSClassUnloadingEnabled
-J-XX:+UseConcMarkSweepGC
3
votes

Latest versions of the jdk comes with a nice tool called jps that tells you about running java processes

jps -v should point you to the processes and show the passed-in options

-1
votes

I don't know if you can do it from within the sbt console but you can add -J-XX:+PrintFlagsFinal to .sbtopts and the JVM will print all the flags.