上错误中我已经将classloader在参数中设置成了15000,还顶不住,即代码中可能存在循环中反复加载类的问题)
解决问题:
最后的解决办法是,将JVM升级到FP11包,此时其版本是SR5了,然后此问题过掉。 (或者设置-Xmxcl50000,也能缓解或过掉此问题)
29:WAS宕机问题
问题表现:
广东某项目:NC5011+was6107,原来是windows 32位系统,一个月出现1-2次“java/lang/OutOfMemoryError”:“Failed to fork OS thread”导致系统down机;自从4月建议改成64位windows操作系统后,一天系统经常down掉2-3次,生成的javacore文件中都是如下错误信息: Cause of thread dump : Dump Event \(00008000) Detail
\ Free Java heap size: 1,135,932,888 bytes Allocated Java heap size: 1,275,069,440 bytes
——实际上,freememory还有很多;而此时,操作系统任务管理器中可以看到此进程的内存占用已经到2G(最大设置-Xmx1280m),在这种情况下,对应java进程一直占用一个cpu到100%,NC系统已经无法登陆
分析:
分析有可能是此版本java虚拟机与操作系统匹配间存在问题,如内存泄漏或gc线程回收存在问题
解决办法:
将java虚拟机升级到FP11包,目前已经观察了近1个月,系统已经稳定,此问题未再重现
30:某项目IBM AIX系统+WAS的效率问题
系统配置 硬件环境:IBM AIX服务器 软件环境:NC5011,webSphere6.1 数据库:Oracle 10g RAC 应用服务器有2台: WAS主服务器 〔dmgr,node,master,ncmem01,单独iufo〕 WAS从服务器 (ncmem02,ncmem03) ERP NC与IUFO在服务器上表现为2个不同的JAVA进程。 问题现象 经常磁盘%busy达到100%,PgspIn,PgspOut达到400,CPU的wait达到20%,内存%comp达到98%,Page space 被占用20%以上。
问题分析 %comp代表的是计算页面占内存的百分比。这个值的升高必然会引起虚拟内存调用的。过多
的使用虚拟内存,会导致页交换的频繁发生。因为swap在磁盘上,必然会导致磁盘的繁忙。磁盘过于繁忙,会有很多进程等待处理,导致CPU的wait升高。
处理方案
通过svmon -Pt15 | perl -e ‘while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}’方法对使用内存多的前15个进程进行排序。发现前面几个都是来自was。
对was中各个进程内存情况进行查看,发现nodeagent的jvm参数设置的不太合理,但我们先不进行调整。
关闭所有was应用,包括IUFO,用rmss -c方法对内存进行测试,结果是不跑任何应用,内存大约需要2G。也就是说我们剩下的应用在内存设置方面不要超过3.2G。因为总内存5.5G , 对各个JVM的内存进行规划。IUFO 1G,nodeagent256M,master 728,ncMem01 1G,dmgr平时不启动。
将NC的日志输出关闭,减少文件读写。
对AIX的系统参数进行优化,尽量减少计算型页面交换。修改的参数如下: vmo -p -o lru_file_repage=0 默认1 vmo -p -o minperm%=5 默认20 vmo -p -o maxclient%=90 默认80 vmo -p -o maxperm%=90 默认80 修改说明:当您将这个参数设置为 0 时,它将告诉 VMM,您希望它仅替换文件页面,而不是计算页面。如果您的 numperm 小于 minperm 或者大于 maxperm,这种情况会发生变化,这正是您希望将 maxperm 设置得较高而将 minperm 设置得较低的原因。
测试结果
以下是对内存cpu监控10分钟的情况,时间上午10:30,系统正常。一上午测试的结果都差不多。(后经电话确认,系统一周内一直很稳定。) # vmstat 10 60
System configuration: lcpu=8 mem=5342MB
kthr memory page faults cpu ----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 1256483 85151 0 0 0 0 0 0 15 3250 1406 0 0 99 0 0 0 1256488 85145 0 0 0 0 0 0 16 3230 1414 0 0 99 0 0 0 1256489 85144 0 0 0 0 0 0 9 3255 1415 0 1 99 0 1 0 1256576 85057 0 0 0 0 0 0 23 3526 1789 2 1 97 0 1 0 1256578 85055 0 0 0 0 0 0 12 3283 1481 0 0 99 0 1 0 1257583 84049 0 0 0 0 0 0 44 3556 1494 1 1 99 0 0 0 1260945 80685 0 0 0 0 0 0 37 3466 1472 1 1 99 0 1 0 1260949 80681 0 0 0 0 0 0 29 3249 1423 0 0 99 0 0 0 1260954 80675 0 0 0 0 0 0 31 3219 1414 0 1 99 0 …….
0 0 1261029 80553 0 0 0 0 0 0 6 3216 1390 0 0 99 0
31:Windows+WAS 语言集选项乱码
问题现象:
解决办法: 1:打开was控制台 2:不管是不是集群,可以先修改某个server的通用JVM参数选项, 加上-Dnc.server.name=server1 -Dfile.encoding=GBK -Dclient.encoding.override=GBK -Ddefault.client.encoding=GBK 3:重新启动此server 4:加上此server对应的端口进行访问,并测试。
32:NC5.01 SP1部署不成功
环境: windows 2003+was6.1+nc5.01sp1
现象:打代码补丁后,部署ejb不成功,后台报错
[java] Tue Apr 08 19:08:00 CST 2008 - 正在生成部署代码 [java] Tue Apr 08 19:08:02 CST 2008 - Deploying jar nc.itf.uap.uif.UIFactoryEJB
[java] Tue Apr 08 19:08:02 CST 2008 - 正在生成部署代码 [java] Tue Apr 08 19:08:03 CST 2008 - Deploying jar nc.itf.uap.workshop.WorkshopEJB
[java] Tue Apr 08 19:08:03 CST 2008 - 正在生成部署代码
[java] Tue Apr 08 19:11:45 CST 2008 - /nc.itf.uap.rbac.SfPack51EJB: 由于项目的构建路径不完整,所以未构建该项目。找不到 nc.itf.uap.rbac.IUserManageRole 的类文件。修正构建 路径,然后尝试构建此项目
[java] Tue Apr 08 19:11:45 CST 2008 - /nc.itf.uap.rbac.SfPack51EJB: 由于项目的构建路径不完整,所以未构建该项目。找不到 nc.itf.uap.rbac.IUserManageRole 的类文件。修正构建 路径,然后尝试构建此项目
[java] Tue Apr 08 19:18:06 CST 2008 - Shutting down workbench.
[java] Tue Apr 08 19:18:06 CST 2008 - Execution Halted: Compilation Errors Reported
[java] Tue Apr 08 19:18:06 CST 2008 - 2 Errors, 0 Warnings, 0 Informational Messages
[java] Tue Apr 08 19:18:06 CST 2008 - ADMA5007I: EJBDeploy 命令在
D:\\IBM\\profiles\\Dmgr01\\wstemp\\wstemp\\app_1192db5a5c5\\dpl\\dpl_nc50.ear 上完成了 [java] Tue Apr 08 19:18:06 CST 2008 - ADMA5008E: EJBDeploy 在
D:\\IBM\\profiles\\Dmgr01\\wstemp\\wstemp\\app_1192db5a5c5\\dpl\\dpl_nc50.ear 上失败了:com.ibm.websphere.management.exception.AdminException: ADMA0063E: EJB 部署中
发生错误 - [/nc.itf.uap.rbac.SfPack51EJB: 由于项目的构建路径不完整,所以未构建该项目。找不到 nc.itf.uap.rbac.IUserManageRole 的类文件。修正构建路径,然后尝试 构建此项目,
ejbModule/nc/itf/uap/rbac/EJSLocalStatelessnc_itf_uap_rbac_SfPack51EJB_80997df2.java(9): 无法解析类型 nc.itf.uap.rbac.IUserManageRole。从必需的 .class 文件间接引用了它] [java] Tue Apr 08 19:18:08 CST 2008 - ADMA5011I: 清除应用程序 nc50 的 temp 目录已完成。
[java] ADMA5014E: 应用程序 nc50 安装失败。 [java] Install application failed [java] Saving session ...
[java] Please manually restart the server and then start the application.
解决办法:
检查modules\%uap下面所有子目录,如果有META-INF目录,并且此目录里面只有一个MANIFEST.MF文件,删除此目录; 打补丁时习惯把代码压缩备份在当前目录,一般 在\\classes 目录下面不能有备份的压缩文件,把备份移到代码根目录之外,让客户做好文档管理, 再次部署成功
下面是类似的一个部署错误的例子:
某项目生成成功,部署失败,报错误信息如下
/ufsoft/nchome/modules/uapqe/ has the same module name with module at: file:/D:/ufsoft/nchome/modules/backup/uapqe-1225bak/
[Thread-9] 2008/01/15 09:09:12 [nc.bs.framework.server.deploy.ModuleDeployer] ERROR - file:/D:/ufsoft/nchome/modules/hrpe/ has the same module name with module at: file:/D:/ufsoft/nchome/modules/backup/hrpe-1225BAK/
[Thread-9] 2008/01/15 09:09:12 [nc.bs.framework.server.deploy.ModuleDeployer] ERROR - file:/D:/ufsoft/nchome/modules/hrta/ has the same module name with module at: file:/D:/ufsoft/nchome/modules/复件hrta/ ………………
原因: 在上面的信息中,发现/nchome/modules目录下有英文及中文目录的备份文件. 将这些备份目录及文件删除后,重新生产及部署,成功.
33:WAS水平集群时addNode问题
问题现象:客户环境:2台应用服务器做was水平集群,
从机用addNode将从机节点加入到主机的Dm管理节点中时出错,查看addNode。Log,发现如下错误:
[08-6-12 21:37:55:156 CST] 0000000a AdminTool A ADMU0124I: 新节点(2008-6-12 21:37:54)的系统时钟未与 Deployment Manager(2008-6-12 21:52:55)的时钟同步。
[08-6-12 21:37:55:515 CST] 0000000a AdminTool A ADMU0125E: 把新节点的时钟更改为与 Deployment Manager 的时钟相差不超过 5 分钟。
[08-6-12 21:37:55:875 CST] 0000000a AdminTool A ADMU0027E: 联合
[08-6-12 21:37:56:234 CST] 0000000a AdminTool A ADMU0211I: 在文件 d:\\IBM\\WebSphere\\AppServer\\profiles\\AppSrv02\\logs\\addNode.log 中可看到错误的详细信息
[08-6-12 21:37:56:234 CST] 0000000a AdminTool E ADMU0111E: 由于错误 com.ibm.ws.management.tools.DoNotDoAddNodeException at
com.ibm.ws.management.tools.NodeFederationUtility.failAddNodeBecauseClocksNotInSync(NodeFederationUtility.java:1572) at
com.ibm.ws.management.tools.NodeFederationUtility.doCheckIfAddNodeIsOkToRun(NodeFederationUtility.java:1343)
问题分析:由于was再将新节点加入到Deployment Manager时要求主从服务器的时间相差不能超过5分钟,所以造成addNode失败。
解决方案:将主从服务器的时间调整成一致(主从服务器只要时间差不超过5分钟就好了),再addNode,成功。
34: NC502生成部署时nc.ear文件错误
客户环境:应用服务器AIX小型机,WAS61011 、NC502
问题现象:在wasSysConfig部署过程中,提示部署不成功,查看was_sysconfig.log,发现如下错误:
[java] Wed Jun 11 16:26:19 GMT+08:00 2008 - ADMA5016I: 安装 nc50 已启动。
[java] Wed Jun 11 16:26:24 GMT+08:00 2008 - ADMA5057E: 检查模块与服务器关系时应用程序验证失败并出现意外异常:org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException:
IWAE0022E Exception occurred loading deployment descriptor for module \in EAR file \
[java] Wed Jun 11 16:26:24 GMT+08:00 2008 - ADMA5011I: 清除应用程序 nc50 的 temp 目录已完成。
[java] ADMA5014E: 应用程序 nc50 安装失败。 [java] Install application failed.
[java] java.lang.Exception: Failed deploy application
问题分析:从日志中可以看到是由于在生成的“nc.ear”中找不到“lfw.war”造成的,打开“nc.ear”
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库用友NC常见环境问题(第5版)(4)在线全文阅读。
相关推荐: