Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有 -Xmx 和 max-heap-size (jnlp) 选项来设置 Java 应用程序可以使用的最大内存。 如果未指定这些选项,则允许应用程序仅使用系统中少量可用的物理内存。 这就是人们使用 -Xmx 以允许应用程序使用更多内存的原因。但这对我来说真的是一场噩梦,因为客户端机器上可能有不同的内存量,甚至应该考虑操作系统。
有没有办法让java应用程序使用系统中的最大可用内存?
谢谢。
-XX:DefaultMaxRAMFraction=1
bugs.sun.com Sun 的 1.5 JVM 默认堆大小
不适用于网络启动。
不幸的是,我知道的最好方法是编写一个简单的启动器(可能是一个 shell 脚本或批处理文件)来检查系统,确定 -Xmx 的适当值,然后启动 Java 应用程序。JVM 初始化后,就无法更改这些值。