向高手求救

gaoke966 2010-11-25 09:00:53
使用Weblogic 10发布实时性比较强的web应用,采用调用webservice发送接收JMS消息交互信息,通信量比较大,有多个定时批量发送接收消息的任务,在开五个左右客户端,开10个左右定时任务(每隔十秒运行一次),在服务器运行五六个小时的时候报以下错误:
####<2010-11-25 上午12时56分42秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '38' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617802756> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分23秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617843885> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分39秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617859618> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分48秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617868501> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分52秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617872997> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分53秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617873237> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时58分03秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617883332> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午01时00分00秒 CST> <Warning> <Socket> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290618000190> <BEA-000449> <Closing socket as no data read from it during the configured idle timeout of 5 secs>
####<2010-11-25 上午01时01分53秒 CST> <Error> <Socket> <cixp> <AdminServer> <ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1290618113273> <BEA-000421> <Uncaught Throwable in processSockets
java.lang.OutOfMemoryError.
java.lang.OutOfMemoryError
>
####<2010-11-25 上午01时01分52秒 CST> <Error> <HTTP> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '16' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290618112331> <BEA-101017> <[ServletContext@2516858[app:UTCS module:UTCS.war path:/UTCS spec-version:null]] Root cause of ServletException.
java.lang.OutOfMemoryError: allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
at java.nio.ByteBuffer.allocate(ByteBuffer.java:95)
at sun.nio.cs.StreamDecoder.<init>(StreamDecoder.java:231)
at sun.nio.cs.StreamDecoder.<init>(StreamDecoder.java:211)
at sun.nio.cs.StreamDecoder.forInputStreamReader(StreamDecoder.java:50)
at java.io.InputStreamReader.<init>(InputStreamReader.java:83)
at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:66)
at org.codehaus.xfire.util.STAXUtils.createXMLStreamReader(STAXUtils.java:762)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:297)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3590)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
####<2010-11-25 上午01时01分53秒 CST> <Error> <HTTP> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290618113273> <BEA-101017> <[ServletContext@2516858[app:UTCS module:UTCS.war path:/UTCS spec-version:null]] Root cause of ServletException.
java.lang.OutOfMemoryError: nativeGetNewTLA
at java.nio.ByteBuffer.wrap(ByteBuffer.java:133)
at weblogic.servlet.internal.CharsetChunkOutput.makeByteBuffer(CharsetChunkOutput.java:468)
at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:316)
at weblogic.servlet.internal.ChunkOutputWrapper.flush(ChunkOutputWrapper.java:174)
at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:111)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:278)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
at java.io.BufferedWriter.flush(BufferedWriter.java:236)
at weblogic.xml.stax.XMLWriterBase.flush(XMLWriterBase.java:502)
at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:88)
at org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:39)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3590)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
..............n个类似
####<2010-11-25 上午01时02分09秒 CST> <Error> <Server> <cixp> <AdminServer> <DynamicListenThread[Default]> <<WLS Kernel>> <> <> <1290618129886> <BEA-002608> <The ListenThread because of an error: java.lang.OutOfMemoryError: mmAllocObject - Object size: 24
java.lang.OutOfMemoryError: mmAllocObject - Object size: 24
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:455)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
at weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:528)
at weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)
at weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)
at java.lang.Thread.run(Thread.java:619)
可以看出是由于压力过大导致WebLogic内存溢出,初步怀疑是因为采用同步接收消息的方式造成压力过大,请教高手有没有遇到过类似问题,并告知解决办法。
...全文
1652 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxood 2011-07-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaoyanzi1205 的回复:]
这个真没碰到过呢
[/Quote]
.....
xiaoyanzi1205 2011-06-13
  • 打赏
  • 举报
回复
这个真没碰到过呢
ousyuryu 2010-11-25
  • 打赏
  • 举报
回复
不知道楼主的这个项目投入使用了吗

如果还没的话,建议楼主优化一下代码~

如果只是测试就这么频繁出内存溢出错误,无论怎样加大内存也不能投入使用吧。
gaoke966 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dyllove98 的回复:]
可以在控制太改一下 尝试把内存加大一下

同步接受消息的方式 后台应该要占用很多内存
[/Quote]
根据Google出来的建议,我在setDomaiEnv中加入了下面配置
set USER_MEM_ARGS=-Xms1024m -Xmx1024m
重启成功,但是想问下,如何知道设置生效了?本人初次使用WebLogic,见笑了。
Guo110 2010-11-25
  • 打赏
  • 举报
回复
没遇到过。。。试试异步分流。应该是线程太多了。回收机制占用的内存太多了。。。加大内存。
Jlins 2010-11-25
  • 打赏
  • 举报
回复
可以在控制太改一下 尝试把内存加大一下

同步接受消息的方式 后台应该要占用很多内存
Jlins 2010-11-25
  • 打赏
  • 举报
回复
我记得可以在控制台配置 你那种方法估计也可以...重新启动就生效了,有没有效果直接看weblogic占用的内存就知道了....使劲压力一下,超过 1024M就是又效果了,因为还要加上虚拟机内存,所以肯定会超过1024
[Quote=引用 3 楼 gaoke966 的回复:]

引用 1 楼 dyllove98 的回复:
可以在控制太改一下 尝试把内存加大一下

同步接受消息的方式 后台应该要占用很多内存

根据Google出来的建议,我在setDomaiEnv中加入了下面配置
set USER_MEM_ARGS=-Xms1024m -Xmx1024m
重启成功,但是想问下,如何知道设置生效了?本人初次使用WebLogic,见笑了。
[/Quote]
gaoke966 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ousyuryu 的回复:]
不知道楼主的这个项目投入使用了吗

如果还没的话,建议楼主优化一下代码~

如果只是测试就这么频繁出内存溢出错误,无论怎样加大内存也不能投入使用吧。
[/Quote]
调大了内存后到现在还未出现错误,不过为了保证稳定性,准备改代码。
博乐—机器人表演 机器人演出的开拓者 www.boole-tech.com 1 DIY 机器人 第一课 制作机器人的基础 在论坛上经常可以看到有人说:"我是菜鸟,制作机器人需要什么基础?"。其 实我可以回答大家:"基础就是你首先要学好数理化",怎么样很意外吧!现在 我来给大家讲讲为什么这么说。机器人制作综合性很强,它涉及机械制造、计 算机、电子技术等很多领域,每一个领域都是以我们的数理化为基础的,还有就 是要充分利用互联网的资源自我学习。 以下是我在论坛发过的一篇贴子,希望大家用心体会。 高手的秘诀 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来 再参考别人的提示,你就知道自己和别人思路的差异。 2.别小家子气,买本书几十块都舍不得,你还学个 P。为了省钱看电子书,浪费的时间绝对 超过书的价值。当然如果查资料,只能看 PDF。 3.学习新的开发软件时,一定要看帮助手册。买的书不够全面。刚接触一个软件,什么都不 懂,就盲目的问东问西,让人看起来很幼稚。 4.不要蜻蜓点水,得过且过,细微之处往往体现实力。 5.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。 6.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。 博乐—机器人表演 机器人演出的开拓者 www.boole-tech.com 2 .别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍。 7.多实践,去焊板子、调试,去写去调,只用软件模拟,是永远成不了高手的。 8.保存好你做过的所有的源程序、PCB、原理图等----那是你最好的积累之一。 9.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的, 首先你要学会 自己找答案,比如 google、百度都是很好的搜索引擎,你只要输入关键字就 能找到很多相 关资料,别老是等待别人给你希望,看的出你平时一定也很懒! 10 到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就 有人问过了,你再问,别人已经不想再重复了, 做为初学者,谁也不希望自己的帖子没人回 的。 11,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果 你 总期望有高手总无偿指点你,除非他是你亲戚!! 讨论者, 起码是水平相当的才有讨论的说 法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。 什么样的人是浮躁的人? 浮躁的人容易问:我到底该学什么; ----踏踏实实的学点基本的吧?单片机不知道是什么就想去学 ARM? c 语言不会想搞 LINUX?别老是好高骛远。 浮躁的人容易问:谁有 xxx 源码?--(你给人家多少钱啊?自己的劳动白送你?) 浮躁的人容易说:跪求 xxx ---(就算网络也要点尊严吧?) 浮躁的人容易说:紧急求救---(其实只是个简单的课程设计) 浮躁的人容易说:有没有 xxx 中文资料?---一个字:懒。别说别的。E 文不行?谁不是 博乐—机器人表演 机器人演出的开拓者 www.boole-tech.com 3 从 ABC 学起的啊? 浮躁的人容易说:求 xxx,我的 email 是 xxx@xxx.com,然后消失 ---- 你以为你是大爷啊, 人 家请你吃饭,还要喂到你口里不成? 浮躁的人容易问:做单片机有钱途吗----只是为了钱,搞不好技术的,你去抢银行好了。 浮躁的人容易说:哪里有 xxx 芯片资料?(其实大部分资料网络上都有,但是偏偏来找人 问,懒!) 浮躁的人分两种:只观望而不学的人;只学而不坚持的人; 浮躁的人永远不是一个高手。 lamp 看完后明白了吧,恭喜!你已经迈出了第一步。 第一课就到这里,下课接着讲。 _________________ 第二课 机器人的组成 机器人一般是由以下模块组成: 1.语音模块 用于语音对话、语音控制。 2.灯光表达模块 用于机器人状态显示、感情表达(喜、怒、哀、乐) 3.控制模块 I/O+决策,即机器人的大脑,其控制能力及 AI 由编程者的水平决定。 博乐—机器人表演 机器人演出的开拓者 www.boole-tech.com 4 4.传感器模块 对外界环境的的感知。 5.电源模块 为机器人提供能源,常用有 3v、5v、6v、9v、12v。 6.减速电机 常用于机器人行走驱动,根据需要选择变比。 7.驱动模块 机器人的执行机构,常选用行模中的舵机。 8.视频模块 机器人的眼 9.机械模块 10.无线通讯模块 11.控制软件 一个简单的机器人是由单片机电路、红外传感器、减速电机+程序这是大多数人 认同的,但是我要向大家说这种认识是错误的,真正的机器人不是几片单机和 几台电脑就可以解决,关键就是'机器人'中这个'人'字,还需要我们一代代 的努力。 以上讲的有点简单,先写出。 --

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧