注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

Glassfish - Could not reserve enough space for object heap  

2009-01-09 11:55:06|  分类: GlassFish |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  文章声明

作者:傲风(aofengblog@163.com)       编写时间:2008年12月11日

网址:http://aofengblog.blog.163.com


错误信息

今天QA反馈一个情况,glassfish突然不能停止,报如下错误信息:
-bash-3.00$ ./asadmin stop-domain domain1
Error occurred during initialization of VM
Could not reserve enough space for object heap

解决问题过程

在网上找了一些资料,但没有这方面的BUG信息提交,又一想,申请不到足够的内存空间和Glassfish无关,就用java -version命令来测试一下,果然也报同样的错误信息,再用java -Xmx256m -version,版本信息出来了:
-bash-3.00$ java -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)
实践结果和之前的推测一样。

打开GLASSFISH_HOME\bin目录下的脚本asadmin
#!/bin/sh
#
# Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#

. "/data2/aimc4_tj/glassfish/config/asenv.conf"

LD_LIBRARY_PATH="$AS_NSS":"$AS_INSTALL/lib":"$AS_ICU_LIB":"$LD_LIBRARY_PATH";export LD_LIBRARY_PATH

cleanup()
{
  stty echo
  exit 1;
}

trap 'cleanup' 1 2 3 9 15

"$AS_JAVA"/bin/java -Xmx256m -Dcom.sun.aas.instanceName=server -Djava.library.path="$AS_NSS":"$AS_INSTALL/lib":"$AS_ICU_LIB" -Dc
om.sun.aas.configRoot="$AS_CONFIG" -Djava.endorsed.dirs="$AS_INSTALL/lib/endorsed" -Dcom.sun.aas.processLauncher="SE" -cp "$AS_D
ERBY_INSTALL/lib/derby.jar":"$AS_INSTALL/jbi/lib/jbi-admin-cli.jar":"$AS_INSTALL/jbi/lib/jbi-admin-common.jar":"$AS_INSTALL/lib"
:"$AS_INSTALL/lib/appserv-rt.jar":"$AS_INSTALL/lib/appserv-ext.jar":"$AS_INSTALL/lib/javaee.jar":"$AS_INSTALL/lib/appserv-se.jar
":"$AS_INSTALL/lib/admin-cli.jar":"$AS_INSTALL/lib/appserv-admin.jar":"$AS_INSTALL/lib/commons-launcher.jar":"$AS_INSTALL/lib/in
stall/applications/jmsra/imqjmsra.jar" -Dcom.sun.appserv.admin.pluggable.features=com.sun.enterprise.ee.admin.pluggable.EEClient
PluggableFeatureImpl com.sun.enterprise.cli.framework.CLIMain "${@}"
~
加入-Xmx256m,再次执行命令 ./asadmin stop-domain domain1,结果成功关闭Glassfish。

可是再次启动Glassfish又报同样的错误,因为Glassfish的启动参数中有如下设置:-Xms1200m -Xmx1200m。执行java -Xms1200m -version,也报同样的错误。查找系统剩余内存:
kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr -- -- -- --   in   sy   cs us sy id
 0 0 0 4373168 6465064 28 42 46 8  8  0  0  0  0  0  0 7605 25737 13670 8 2 91
系统显示还有6GB剩余的内存,那么问题就在系统上的限制了。在关闭了一些不用的进程后释放了一些内存,再次启动,成功。

<正文结束>
  评论这张
 
阅读(3355)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017