0

我正在发布一个基于 Eclipse 的应用程序,并希望拥有最大堆大小。如何让我的应用程序使用不同机器上的所有可用内存。到目前为止,我发现的只是设置 heapsize 的参数,我可以发送 JVM,但这些是硬编码的。基本上我希望 JVM 使用机器上可用的任何内存。硬编码还不够好。

有没有一种简单的方法可以做到这一点?

4

1 回答 1

1

无法使用标准 JVM 功能。JVM 参数指定要保留的内存量(-Xmx...),不能指定“获取所有可用内存”。您可以尝试一个合理的值,例如 1.2GB,这是 Windows XP 32 位的上限。问题是操作系统无法保留 JVM 所需的所有内存,因此您必须更加保守。

另一种方法是在外部计算可用内存(脚本、本机实用程序),然后使用该值设置 JVM 参数。不知道是否有像 Install4J 这样的安装程序可以实现这一点。

于 2012-06-11T14:10:51.647 回答