java - 在 64 位 Windows 中使用 32 位 Java

标签 java jvm 32bit-64bit heap-memory

我在 Windows 7 64 位中使用 32 位版本的 Java。系统有 6 GB 的 RAM。但是当 JVM 由操作系统分配内存时,它不会超过 1.5 GB(与 32 位操作系统相同)。可能的原因是什么,JVM 不允许有足够的内存。如果可能的话如何解决?我无法升级到 64 位 JVM。

最佳答案

Windows 上的 32 位进程仍然受到与在 32 位 Windows 操作系统上运行相同的限制。查看此问题的答案。

How much memory can a 32 bit process access on a 64 bit operating system?

This guidance来自 Oracle 的建议 32 位 JVM 可以使用大约 1.5GB。

The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G.

关于java - 在 64 位 Windows 中使用 32 位 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19290217/

相关文章:

尽管设置了 -Xmx300m -Xss512k -XX :MetaspaceSize=100M?,Java 内存仍超过 512mb

delphi - Debug和Release模式下调用64位API函数的区别

java - 私有(private)方法和公共(public)领域一样糟糕吗?

java - maven 进程资源不会替换 Linux 上属性文件中的占位符

java - 当您拆箱对象时,对象数据类型存储在哪里以便编译器可以执行转换?

javac - 生成特定于平台的二进制代码

c# - 如何使用 C# 在 IIS 6 和 IIS 7 中启用 32 位应用程序模式

r - 强制 devtools::install_github 只安装 32 位版本的包?

Java -Spring Boot - OAuth 2.0配置实现Google账户登录

java - 在主窗口中从另一个包打开 JFrame