是否正确地(重新)启动具有硬件相关VM参数的Java应用程序?

Low*_*ion 6 java parameters jvm

编辑我不想使用Java Web Start

我有一个Java应用程序,我想使用不同的VM参数运行,具体取决于它启动的系统的内存量.

例如,如果机器有1 GB或更少的内存,我想传递"-Xmx200m"和"-Xmx400m"(如果它有2 GB)和"-Xmx800m"(如果它有8 GB(这些只是示例)).

有可行的方法吗?

我尝试过第一个小型Java应用程序(因此是可移植的)确定可用的内存量,然后启动一个新的Java应用程序,但我认为这不是很干净.

截至目前,我已经编写了Bash shell脚本,根据配置调用具有正确参数的Java应用程序,但它仅适用于OS X上的Linux.

解决这个问题的正确方法是什么?

应用程序打包程序包;)有帮助吗?

Chr*_*bek 0

为了定义各种启动配置,我将使用 JNLP。可以在那里指定 xmx。

不幸的是,这仍然让您需要找出系统有多少内存,而您的小型 Java 应用程序听起来最好。