WebSphere莫名自动重启\OOM问题记录

写给自己看的,做个记录。
应用在Tomcat下跑的妥妥儿的, 在WebSphere 7.0.0.7中部署时,经常会出现部署超时,内存溢出等异常;就算部署上了,WebSphere自动重启等问题也比较困扰。

原因从大范围上有以下几点:
A. WebSphere版本问题,WAS7.0之后才自带IBM JDK 1.6,6.0时代甚至还有JDK1.4, 所以不妨先确认下你项目编译的环境是不是和WAS的JDK版本适应。 当然 能用WAS自带的JDK编译项目是最好不过了。另外,32位和64位对相同的项目相同的配置相同的部署 所产生的效果可能也是不一样的。

B.项目问题, 包括web.xml格式、对象没有回收(引用未消除)等等。

C.WAS设置问题,包括初始、最大、permsize、filter初始化等等。

几个重要的备份链接:

IBM WebSphere Application Server 诊断和调优(07年写的,原JavaEye精华帖)
http://zwchen.iteye.com/blog/551933

64位JExtract命令(-J-Xcompressedrefs)
https://www-304.ibm.com/support/docview.wss?uid=jpn1J1006862


一份较全的配置文档
http://www.51testing.com/?uid-4827-action-viewspace-itemid-131203

一个应用实例(WAS7 ND+IHS性能调优出现的相关问题解决办法)
http://www.webspherechina.net/home/space.php?uid=201&do=blog&id=56444

WAS 开发需要注意的一些细节
http://www.webspherechina.net/home/space.php?uid=201&do=blog&id=49516

另:Filter在启动时初始化
com.ibm.ws.webcontainer.invokeFilterInitAtStartup = true
com.ibm.ws.webcontainer.invokeFiltersCompatibility = true

一般问题主要是以下两个:
Q:war包太大无法部署,报OOM
A:先部署个小的war包,然后再把项目拷贝到部署好的目录中,记忆中应该是...
/opt/ibm/websphere/Appsvr/profiles/installedApps/项目名 ; 接下来注意如果web.xml有改动的话,需要同时修改Appsvr/..../config/XXcell 具体名字忘了 里面的war包。 另外要检查web.xml的标签顺序是不是有问题,尽量按照标准


Q:项目跑不起来,或者跑一段时间就当掉
A:
1.最要紧一件事:先收集日志和数据吧  logs/sysout  syserr之类的 还有appsvr里面生成的javacore,core,dump之类的
2.检查WAS的某些属性有没有设置 -Xms -Xmx -XX:PermSize这些属性  注意也别设置的太高。。一般应用-Xmx 1024m就够了
3.IBM专门异常检测工作台的使用IBM Support Assistant 下面网址记录了不同工具的使用场景
http://www.ibm.com/developerworks/cn/websphere/techjournal/0807_supauth/0807_supauth.html#tool10
4.该打补丁就往最新最好里打补丁,硬件该升级就升级,2G内存的虚拟机你出门都不好意思跟人打招呼 这也是风筝客户的一种表现形式 因为IBM客服也这么推荐。。。
5.看日志的时候,那个唯一能肉眼观看的javacore.crashtime.txt的结构可以稍微作为重点,里面记录的信息还是比较全的,诸如死锁、crash的原因、crash时的线程情况。
6.64位WAS有些时候比较妖,上次部署就是混淆的jar包部署不了,去掉混淆就可以了。。


先这些吧  后面遇到了再补充。

你可能感兴趣的:(oom,websphere,WAS)