WAS JVM 初始堆大小设置错误产生的故障排除

今天,中午,在去吃饭的路上,突然收到客户的紧急电话,说有一台was6.1 宕机,起不来了,是生产环境,并且,要求在中午一点钟要将业务恢复,否则影晌很大,收到客户电话,立即赶到客户现场。

来到客户现场,先了解客户环境情况,通过沟通,了解客户的WAS是WAS6.1,操作系统是32位的windows2003操作系统,情况就是,上午,客户发现业务应用晌应很慢,就将WINDOWS2003系统重启。系统重启后,发现WAS6.1的Appserver应用服务器节点没有启来(客户设置了让节点随系统启动而启动),去到现场,客户让我看了一些startserver.log的日志,日志显示WAS节点启动时初始化时,JVM空间不足。

让客户再次重启系统,系统重启后,进行CMD命令行,手动用命令启动WAS服务。

startServer.bat server1

但遇到如下报错:

询问客户,这段时间WAS有没有作过变更,因为从报错信息来看,是WAS启动初始化就报错,还没到应用那一层,并且,我现场重新创建一个新profiles AppSrv02,并且这个profile 启动成功,因而,确认这个WAS没有问题,问题出在这个AppSrv01节点上,再次跟客户沟通,了解到客户两个月前调整 WAS的JVM参数,但并没有重启系统,而今天上午,因为应用慢,客户重启操作系统,WAS就起不来, 再加上考虑到WINDOWS2003是32位,只支持2G内存,怀疑是调整过JVM的内存参数。

再让客户跟开发确认一下,确认是在两个月前,在WAS 的WEB管理台,改过JVM的内存参数。好像是JVM的初始化堆参数。

如下图:

而WINDOWS2003 32位,只支持2G内存,如果将初始堆大小,调到2048,那自然不能完成WAS初始化,那现在,WAS 不能起来,无法进入WAS的WEB管理台,改过来,那如何将这个参数改过来?。经过查证,原来可以在这个文件给于修改:

将相应参数值 改过来,再次启动was  appsrv01

startServer.bat server1

就可以成功启动起来啦。

以下文章点击率最高

Loading…

发表评论