当前位置: 首页 > 面试题库 >

Windows XP上的Java最大内存

微生永春
2023-03-14
问题内容

我一直能够为在32位Windows XP(Java 1.4、1.5和1.6)上运行的Java SE分配1400 MB的内存。

java -Xmx1400m ...

今天,我在使用Java 1.5_16和1.6.0_07的新Windows XP计算机上尝试了相同的选项,并收到错误消息

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

通过反复试验,似乎1200兆字节是我可以在此计算机上分配的最大内存。

有什么想法为什么一台机器允许1400,而另一台只能允许1200?

编辑:机器具有4GB的RAM,Windows可以识别约3.5GB。


问题答案:

v



 类似资料:
  • 问题内容: 在64位平台上,一个人可以为java分配的最大堆空间是多少?无限吗? 问题答案: 理论上是2 64,但是可能会有限制(显然) 根据此常见问题解答,它仅受本地系统上的内存和交换空间的限制: 在64位VM上,您具有64位可寻址性,因此可产生的最大Java堆大小仅受系统提供的物理内存和交换空间的数量限制。 另请参见为什么使用32位JVM无法获得更大的堆? 另外请记住,您需要通过命令行设置最大

  • 问题内容: 您可以在32位Windows上为Java进程分配的最大堆大小是多少? 我问是因为我想在OpenMap中使用ETOPO1数据,而原始二进制浮点文件大约为910 MB。 问题答案: 回答您的问题,没有什么比经验实验更好。我编写了一个Java程序并在指定XMX标志的同时运行它(还使用XMS = XMX来强制JVM预分配所有内存)。为了进一步防止JVM优化,我积极分配了X个10MB的对象。我在

  • PS:有时我会从java代码执行shell脚本。会不会导致这类问题?

  • 问题内容: 我正在尝试使用连接服务器,但是PUT方法存在问题。 我需要发送一个包含 1500个字符 (或更多)的字符串,但是在这种情况下,服务器会产生超时并返回 500个服务器内部错误 。 如果我发送的字符串少于 1400个字符 ,则没有问题,服务器返回 OK 。 我的代码如下: // ----------------------- 我尝试添加线 但是服务器的答案还是错误的。 更新: 我可以发现问

  • 问题内容: 我想限制JVM使用的最大内存。注意,这不仅是堆,我想限制此过程使用的总内存。 问题答案: 使用参数。在数字后面使用M或G分别表示字节的兆位和千兆位。表示最小值和最大值。

  • 问题内容: 问题不在于32位操作系统的最大堆大小,因为32位操作系统的最大可寻址内存大小为4GB,而JVM的最大堆大小取决于可以保留多少连续可用内存。 我对了解在64位OS中运行的32位JVM的最大(理论上和实际可实现的)堆大小更感兴趣。基本上,我正在寻找类似于SO相关问题中的数字的答案。 至于为什么使用32位JVM而不是64位JVM,原因不是技术上的而是管理/官僚的-在生产环境中安装64位JVM