![](/img/trans.png)
[英]create cucumber java testng maven executable jar project and run from command line
[英]Why an executable jar when run from a command line uses much more ram, than the same project run from Eclipse?
为什么从命令行运行时可执行jar使用更多的RAM - 在我的情况下大约多7倍 - 比从Eclipse运行的同一个项目?
在开发项目时,我从Eclipse运行应用程序(运行 - >运行),它使用了大约60mb(我看了刚刚创建的javaw.exe进程)的ram,而如果我创建了一个可执行的JAR并从命令行运行它(Windows公羊的使用量约为450mb。 此外,从命令行运行时,ram使用量变化的幅度大于Eclipse的Run-> Run。
这可能与Eclipse启动应用程序的JVM设置有关。 在启动Jar时,Java将最好地猜测在内存方面使用的设置。 您可以在控制台上更改java
命令使用的内存大小:
java -Xms64m -Xmx256m -cp your.jar
-Xms??m
以mb为单位设置最小堆大小。
-Xmx??m
以mb为单位设置最大堆大小。
Java可能会自动选择更大的堆大小,因为它不受eclipse的支配。
在eclipse中,它必须与其他服务/应用程序共享内存。 但是在命令行上它没有任何限制。 在命令行上,您还可以通过启动应用程序来限制ram。 你可以通过这样做来限制它
java -Xmx256M -Xms256M -cp /*.jar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.