页面运行一段时间出这错误java.lang.OutOfMemoryError: CG(q0),求解?

全息宇宙 2010-11-01 08:46:00
页面运行一段时间出这错误java.lang.OutOfMemoryError: CG(q0),重启weblogic服务后就没问题了,过断时间又出这错误
哪位遇到过啊,请帮忙分析下原因

具体错误内容如下:
java.lang.OutOfMemoryError: CG(q0) [jsp_servlet/_sdswzzb86903741/_ywcl/__bgtcxctrl._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/H
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.util.URLfilter.doFilter(URLfilter.java:89)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.util.EncoderFilter.doFilter(EncoderFilter.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
...全文
352 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 manyou 的回复:]

内存的方式试过了,weblogic内存已经调到最大了。服务器4X4核心cpu,8G内存。

这页面开始调用一个在 request 中过滤掉危险字符串类(整个网站通用的过滤危险字符的类)。不过没向这页面的request里面写数据
[/Quote]

检查下这个类的代码。
zn85600301 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 dafeicao 的回复:]

楼上的: OutOfMemoryError 是jvm虚拟机内存不足 你重装系统有毛用.

当报这个异常的时候. 并不是说.JVM真的完全内存不足. 只是GC的速度.跟不上使用增加内存的量. 通常出这个错
就两个可能. 1.jvm内存参数太小.2.代码效率问题. 按楼主说.内存已经设置好了.那就是代码问题了.

看看bgtcxctrl.jsp这个jsp页面.……
[/Quote]
同意 ,排除了配置问题 就是代码的问题 检查下流之类的是否关闭了
dafeicao 2010-11-01
  • 打赏
  • 举报
回复
楼上的: OutOfMemoryError 是jvm虚拟机内存不足 你重装系统有毛用.

当报这个异常的时候. 并不是说.JVM真的完全内存不足. 只是GC的速度.跟不上使用增加内存的量. 通常出这个错
就两个可能. 1.jvm内存参数太小.2.代码效率问题. 按楼主说.内存已经设置好了.那就是代码问题了.

看看bgtcxctrl.jsp这个jsp页面. 有没有大循环.. 还有对应的action和Service 有没有用到大数据.
SSH_J2EE 2010-11-01
  • 打赏
  • 举报
回复
我以前出现过这样的情况,经常出这个问题,后来内存这些都修改也不行,杀毒也不行,我是从装系统才搞定的,还从装过好几遍,你试试吧,别忘了备份,因为装了也可能还会出现这个问题·
全息宇宙 2010-11-01
  • 打赏
  • 举报
回复
搜索关键字OutOfMemoryError: CG(q0),百度黔驴技穷了,google也没说出个所以然
全息宇宙 2010-11-01
  • 打赏
  • 举报
回复
精华是这个 CG(q0) 怎么解释呢?
aoli444 2010-11-01
  • 打赏
  • 举报
回复
检查下代码,看有没有未关闭的流,变量等。
全息宇宙 2010-11-01
  • 打赏
  • 举报
回复
内存的方式试过了,weblogic内存已经调到最大了。服务器4X4核心cpu,8G内存。

这页面开始调用一个在 request 中过滤掉危险字符串类(整个网站通用的过滤危险字符的类)。不过没向这页面的request里面写数据
hanker1314520 2010-11-01
  • 打赏
  • 举报
回复
由于WebLogic的配置问题,我们的测试出现了失败情况。原因是为WebLogic分配的内存太少了。通过修改commom\bin\commEnv.cmd文件来增加内存分配。
修改的部分如下:
:bea
if "%PRODUCTION_MODE%" == "true" goto bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m//原来是128M~256M,太小了,数据太大
goto continue
:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
goto continue
海会圣贤 2010-11-01
  • 打赏
  • 举报
回复
全息宇宙 2010-11-01
  • 打赏
  • 举报
回复
回楼上,这个页面没有request数据啊
xuyang840117 2010-11-01
  • 打赏
  • 举报
回复
程序方法里request的数据量过大
全息宇宙 2010-11-01
  • 打赏
  • 举报
回复
页面里面纯录入表单,没调用类、没jsp代码,有时也出问题。

一天页面访问量10万以上吧,大部分是后缀.jsp的页面,访问量大了2天就出问题,每天5万以下也许2周不出
全息宇宙 2010-11-01
  • 打赏
  • 举报
回复
库连接、资源等很注意关闭。
有时候是这个页面出这问题,有时候又是那个页面出问题,有的页面很简单才几行代码也出这问题。

用的是正版oracle,应该不是版权的事
bijanen19861113 2010-11-01
  • 打赏
  • 举报
回复
基本上同意楼上所说的,不关闭会造成你读出来的数据还在内存中,当你再次去访问时,再把数据由加载进来,数据量太大,所以就造成内存溢出。这种访问数据库的问题经常出现在你重复访问时,抛出的异常。主要是程序的问题,你好好检查检查。呵呵~~~~个人拙见。
Eclipse_80 2010-11-01
  • 打赏
  • 举报
回复
14楼说的对,估计就是你的Statement和ResultSet一直开,但是开了却不关造成的!
  • 打赏
  • 举报
回复
你是用什么方式连得数据库啊,我估计是你用JDBC方式,然后不断的产生Statement和ResultSet,但是每次用完却没有close

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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