Java应用程序使用系统中的最大可用内存

时间:2012-07-06 16:29:58

标签: java jvm jnlp

有-Xmx和max-heap-size(jnlp)选项来设置java应用程序可以使用的最大内存。
如果未指定这些选项,则允许应用程序仅使用系统中少量可用的物理内存 这就是人们使用-Xmx来允许应用程序使用更多内存的原因。但这对我来说真的是一场噩梦,因为在客户端机器上可能存在不同的内存,甚至OS也应该被考虑在内。

有没有办法让java应用程序使用系统中的最大可用内存?

感谢。

2 个答案:

答案 0 :(得分:5)

-XX:DefaultMaxRAMFraction=1

bugs.sun.com
Sun's 1.5 JVM
Default Heap Size

不适合网络启动。

答案 1 :(得分:3)

不幸的是,我所知道的最好的方法是编写一个简单的启动程序(可能是shell脚本或批处理文件)来检查系统,为-Xmx确定适当的值,然后启动Java应用程序。 JVM初始化后,无法更改值。