为内存密集型应用程序增加 JVM 最大堆大小

2022-01-16 00:00:00 jvm java jvm-arguments

我需要运行一个使用超过 2GB 的 Java 内存密集型应用程序,但我在增加堆最大大小时遇到​​了问题.到目前为止,我已经尝试了以下方法:

  • 设置 -Xmx 参数,例如-Xmx3000 米.这种方法在创建 JVM 时失败.根据我的谷歌搜索,看起来 -Xmx 必须小于 2GB.

  • 使用 -XX:+AggressiveHeap 选项.当我尝试这种方法时,我收到一个内存不足"错误,表明堆大小为 1273.4 MB,即使我的计算机有 8GB 内存.

是否有另一种方法可以尝试增加 JVM 的最大堆大小?以下是计算机规格的摘要:

  • 操作系统:Windows 7(64 位)
  • 处理器:Intel Core i7 (2.66 GHz)
  • 内存:8 GB
  • java-版本:
<块引用>

java 版本1.6.0_18"Java(TM) SE 运行时环境 (build 1.6.0_18-b07)Java HotSpot(TM) Client VM(build 16.0-b13,混合模式,共享)

解决方案

从 甲骨文.

I need to run a Java memory intensive application that uses more than 2GB, but I am having problems to increase the heap maximum size. So far, I have tried the following approaches:

  • Setting the -Xmx parameter, e.g. -Xmx3000m. This approaches fails at the creation of the JVM. From what I've googled, it looks like that -Xmx must be less than 2GB.

  • Using the -XX:+AggressiveHeap option. When I try this approach I get an 'Not enough memory' error that tells that the heap size is 1273.4 MB, even though my computer has 8GB of memory.

Is there another approach that I can try to increase the maximum heap size of the JVM? Here's a summary of the computer specs:

  • OS: Windows 7 (64 bit)
  • Processor: Intel Core i7 (2.66 GHz)
  • Memory: 8 GB
  • java -version:

java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

解决方案

Get yourself a 64-bit JVM from Oracle.

相关文章