java - 运行 java -version 时“无法为对象堆保留足够的空间”

标签 java memory windows-server-2008 virtual-memory

我知道这是一个常见的问题。我想知道从哪里开始。

在 windows server 2008 上运行 java,我们有 65GB 内存,它显示 25GB 空闲。 (目前有几个人正在运行进程)。

系统信息 | grep -i 内存

显示:

Total Physical Memory: 65, 536 MB
Available Physical Memory: 26,512MB
Virtual Memory: Max Size 69,630 MB
Virtual Memory: Available 299 MB
Virtual Memory: In Use: 69, 331 MB. 

真的只是想知道我是如何着手解决这个问题的。

  • 我从哪里开始?
  • 正在使用更多虚拟内存是什么意思 使用的比物理内存多,这就是 java 无法启动的原因吗?
  • 做 java要使用虚拟内存而不是物理内存?

java -version

给我:

VM 初始化时出错 无法为对象堆保留足够的空间

更具体的问题:

  • 为什么 JVM 不想使用空闲的物理内存?
  • 如果不指定 Xms 参数,java 命令(如 java -version)要使用多少内存?
  • 简单地分配更多虚拟内存是否是解决问题的好方法?

最佳答案

我遇到了同样的问题。通过分析,我们发现该机器的交换空间不足。 请增加交换空间并验证。

关于java - 运行 java -version 时“无法为对象堆保留足够的空间”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14926989/

相关文章:

java - 无法使用Windows Server静态IP访问Java Web应用程序

java - renderscript可以在jni代码中使用吗?

scala - 如何恢复(垃圾收集)在 scala repl 中分配的内存?

memory - 谷歌计算引擎 : increase memory/CPU of the instance

c - Visual Studio : Different Size in Memory for same executable in XP and Windows7

java - TCP套接字超时配置

java - 使用泛型的语法问题

java - 在 Canvas SWT Draw2D 中拖动图形

java - 为什么我无法使用 WildFly 中的 WEB-INF/classes 中的 getResourceAsStream 读取属性文件?

c++ - CFX_ImageCR3 |无法在运行 ColdFusion 10 64 位的 Windows Server 2008 R2 64 位上加载库