Cloud not reserve enough space for object heap

2013年10月28日 Liferay 评论 4 条 阅读 7,443 views 次

在Liferay中执行Builder Service时,有时候会出现下面的错误:

Java Result:1
Cloud not create the Java virtual machine.
Error occureed during initalization of VM
Cloud not reserve enough space for object heap

此问题的原因在编译的时候为JVM分配的内存大于了剩余的物理内存大小。本质原因就是物理内存太小了。解决方法就有两个:

加大物理内在

1、直接升级电脑,添加内存。

2、如果内存够大(4G+),则检查操作系统是不是64位,安装的JDK是不是64位。

调整Liferay编译时所分配的内存

执行Service Builder时,执行的JVM的内存分配是在ant文件里面配置的,在SDK目录下面的build-common-plugin.xml文件里面。找到类似下面的片断:

 
  1. <java  
  2.     classname="com.liferay.portal.tools.servicebuilder.ServiceBuilder"  
  3.     classpathref="service.classpath"  
  4.     fork="true"  
  5.     newenvironment="true"  
  6.     outputproperty="service.test.output"  
  7. >  
  8.     <jvmarg value="-Xms512m" />  
  9.     <jvmarg value="-Xmx1024m" />  
  10.     <jvmarg value="-Xss2048k" />  
  11.     <jvmarg value="-XX:MaxPermSize=512m" />  

这里即是Liferay Service Builder时所设置的JVM参数,将里面的-xmx1024改为512m,-XX:MaxPermSize改为256m,然后保存,重新执行Service Builder,问题应该即可以解决。

用户头像

4 条留言  访客:3 条  博主:1 条

  1. liferay也太占内存了

  2. 请教个问题:我对liferay不是很了解,liferay是否可以做购物网站呢

  3. liferay的后台是控制面板,你所开发的项目中,会不会把控制面板那样的后台改版成我们传统那种后台管理呢

给我留言

您必须 登录 才能发表留言!

Copyright © IT人生录 保留所有权利.   主题设计 知更鸟 滇ICP备16001547号

用户登录

分享到: