我已将 java 最小/最大堆大小设置为与 Sun Docs 中概述的相同。使用以下命令来精确调整堆大小:
-Xms768m -Xmx768m
当我启动 tomcat 时,这工作正常,但如果我从命令行运行 jruby
,它会提示说:
Error occurred during initialization of VM
Incompatible minimum and maximum heap sizes specified
我在 jruby docs 中读到关于一些 -J-X 参数,但我需要显式覆盖我的正常 jvm 设置,这似乎很愚蠢。
当我进行部署时出现问题。我尝试在我的服务器上运行jruby -S rake db:migrate
,但它提示。
运行 jruby 时我是否需要显式覆盖 JVM 设置?似乎任何 Xms/Xmx 值都会导致 jruby 提示。
更新 所以看起来一些设置确实有效。例如,所有这些工作:
Xmx256m Xms256m
Xmx512m Xms256m
Xmx512m Xms500m
但这些没有:
Xmx512m Xms512m
Xmx512m Xms501m
Xmx768m Xms512m
最佳答案
这似乎是 JRuby 的 shell 启动器的限制。好消息是 native JRuby 启动器可以正确处理该问题,您可以通过以下方式安装它:
jruby -S gem install jruby-launcher
附注如果您看到此类问题,请随时针对 JRuby 提交错误:http://bugs.jruby.org
关于java - 为什么 jruby 提示有效的 java_opts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2463203/