Could not reserve enough space for object heap解决办法

Centos6.4  Jdk1.6

1.在终端输入Java命令报错

[[email protected] local]# java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

2.是系统参数(overcommit_memory和overcommit_ratio)配置的问题

3.查看系统内存分配状态

[[email protected] local]# grep -i commit /proc/meminfo
CommitLimit:    15550904 kB
Committed_AS:   15098404 kB

  看到CommitLimit和Committed_As参数。

  CommitLimit是一个内存分配上限,CommitLimit = 物理内存 * overcommit_ratio(默认50,即50%) + swap大小
  Committed_As是已经分配的内存大小。

4.内核参数overcommit_memory

[[email protected] local]# cat /etc/sysctl.conf | grep overcommit_memory
vm.overcommit_memory=2

  它是 内存分配策略

  可选值:0、1、2。
  0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
  1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
  2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

5. 解决办法
  将vm.overcommit_memory 设为1即可
  有三种方式修改内核参数,但要有root权限:

1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效

2)sysctl vm.overcommit_memory=1

3)echo 1 > /proc/sys/vm/overcommit_memory

参考:http://blog.csdn.net/whycold/article/details/21388455

http://blog.csdn.net/jollyjumper/article/details/24127009

时间: 2024-11-06 16:34:31

Could not reserve enough space for object heap解决办法的相关文章

关于Myeclipse下的JVM启动异常的问题:Out Of Memery / Could not reserve enough space for object heap

以下都是初步理解: 这主要是JVM内存配置的问题,网上有很多参考资料,但是我们不能死板硬套,必须根据自己工程的实际情况配置相关的参数. 1.按照jvm的设计规则,JVM内存分为堆(Heap)和非堆(Non-heap)内存 "Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.","在JVM中堆之外的内存称为非堆内存(Non-heap memory)".可以看出JVM主要管理两种类型的内存:堆和非堆

启动tomcat报错 Could not reserve enough space for object heap的解决办法

问题:打开eclips启动tomcat发现报出Could not reserve enough space for object heap错误. 解决办法:1.首先检查tomcat是否能正常启动.remove掉tomcat里所有的项目启动.如果仍然有错就说明是tomcat有问题.删除tomcat 重新部署一个,即可解决.    2.如果启动tomcat没错,项目添加后有问题,就是jvm 溢出  内存不够.就要进行修改jvm内存启动即可.

Tomcat启动报错 Could not reserve enough space for object heap

报错信息: Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine. 解决方法: 在catalina.bat中增加如下设置 set JAVA_OPTS=-server -XX:MaxHeapSize=256m -Xms512m -Xmx512m

Android Studio之could not reserve enough space for object heap报错

在用AndroidStudio时出现这样的错误: 搞了半天终于找到了解决办法,但是很麻烦.就是每次创建工程后,在gradle.properties文件中加入如下代码: org.gradle.jvmargs=-Xmx512m -XX:MaxPermSize=512m 然后重启工程就好了,如果想彻底解决此问题,还是觉得应该从新安装最新版的AdroidStudio.不知为什么AS老是无缘无故报各种错误,真是太烦了.

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

在当前工程目录中 gradle.properties 添加org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m http://stackoverflow.com/questions/30045417/android-studio-gradle-could-not-reserve-enough-space-for-object-heap/31760855#31760855

cannot open shared object file解决办法

Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libjpeg.so.9: cannot open shared object file: No such file or directory in Unknown on line 0 locate libjpeg.so.9 将找到的路径加到/etc/ld.so.conf文件末尾,然后/sbin/ldconfig即可

安装office2019版本后, vb无法引用Microsoft excel object library和Microsoft word object library 解决办法

在引用中点击浏览,找到office16安装目录. 参考安装目录:C:\Program Files\Microsoft Office\root\Office16 如下操作可引入Microsoft excel object library 如下操作可引入Microsoft word object library 参考链接: https://blog.csdn.net/ZHY_8643/article/details/86887190 原文地址:https://www.cnblogs.com/feng

js window.open打开新窗口原页面出现[object window]解决办法

解决方法: 1.<a href="javascript:window.open('about:blank','_blank');void(0);">ddd</a>只需要在href中加入void(0);即可2.<a href="#" onclick="window.open('about:blank','_blank')">ddd</a> window.open()函数说明: 函数原型:window.

Zabbix监控虚拟主机告警Lack of free swap space on Zabbix server解决办法

Zabbix监控虚拟机的时候有时候会报一下告警 是因为Zabbix监控没有考虑虚拟主机的交换空间情况 解决办法修改配置 原文地址:https://www.cnblogs.com/minseo/p/9120084.html