当前位置: 技术问答>java相关
!!!!内存溢出问题,解决再加100!!!!!!!!!!!
来源: 互联网 发布时间:2015-07-09
本文导语: 我公司用的是weblogic5.1,操作系统为2000,主要是用来运行一个电子政务网,在运行的过程中,总是出现内存益处的问题,错误是有不定的页面引起的,出现问题后只能重起weblogic,(网站上有一些业务系统,用到了ejb)...
我公司用的是weblogic5.1,操作系统为2000,主要是用来运行一个电子政务网,在运行的过程中,总是出现内存益处的问题,错误是有不定的页面引起的,出现问题后只能重起weblogic,(网站上有一些业务系统,用到了ejb)现有一段刚刚出现错误的信息如下:
星期四 五月 16 09:38:31 CST
2002: servlet/contentmanage/DeleteInfoServlet: init
######1星期四 五月 16 09:38:52 CST 2002: Generated j
ava file: E:weblogicmyserverclassfilesjsp_servlet_iso9000_iso.java
星期四 五月 16 09:39:59 CST 2002: Generated java fil
e: E:weblogicmyserverclassfilesjsp_servlet_isogw_iso.java
Delaying 1 seconds before making a oraclePool pool connection.
星期四 五月 16 09:40:23 CST 2002: Connection for pool "oraclePool
" created.
Delaying 1 seconds before making a oraclePool pool connection.
星期四 五月 16 09:40:24 CST 2002: Connection for pool "oraclePool
" created.
sssssssssssssss星期四 五月 16 09:46:11 CST 2002: Connection re
jected: 'Login timed out after 5000 msec. The socket came from [host=202.99.112.
195,port=1138,localport=80] See property weblogic.login.readTimeoutMillis to inc
rease of decrease timeout. See property weblogic.login.logReadTimeoutsProp to t
urn off these log messages.'
sssssSELECT * from "gy_g" where ayear=2002 and amonth=3 and aid='60055113X' ord
er by g2 ######1sssss星期四 五月 16 09:52:22 CST 2002: Servlet failed with Exception
java.lang.OutOfMemoryError
星期四 五月 16 09:52:29 CST 2002: Servlet failed wit
h Exception
java.lang.OutOfMemoryError
星期四 五月 16 09:53:22 CST 2002: Servlet failed wit
h Exception
java.lang.OutOfMemoryError
asasd星期四 五月 16 09:53:31 CST 2002: Servlet faile
d with Exception
java.lang.OutOfMemoryError
星期四 五月 16 09:53:37 CST 2002: Servlet failed wit
h Exception
java.lang.OutOfMemoryError
请教各位高手,到底是怎么回事呀,原因在哪里,我都要急疯了,解决问题一定有重谢!!
星期四 五月 16 09:38:31 CST
2002: servlet/contentmanage/DeleteInfoServlet: init
######1星期四 五月 16 09:38:52 CST 2002: Generated j
ava file: E:weblogicmyserverclassfilesjsp_servlet_iso9000_iso.java
星期四 五月 16 09:39:59 CST 2002: Generated java fil
e: E:weblogicmyserverclassfilesjsp_servlet_isogw_iso.java
Delaying 1 seconds before making a oraclePool pool connection.
星期四 五月 16 09:40:23 CST 2002: Connection for pool "oraclePool
" created.
Delaying 1 seconds before making a oraclePool pool connection.
星期四 五月 16 09:40:24 CST 2002: Connection for pool "oraclePool
" created.
sssssssssssssss星期四 五月 16 09:46:11 CST 2002: Connection re
jected: 'Login timed out after 5000 msec. The socket came from [host=202.99.112.
195,port=1138,localport=80] See property weblogic.login.readTimeoutMillis to inc
rease of decrease timeout. See property weblogic.login.logReadTimeoutsProp to t
urn off these log messages.'
sssssSELECT * from "gy_g" where ayear=2002 and amonth=3 and aid='60055113X' ord
er by g2 ######1sssss星期四 五月 16 09:52:22 CST 2002: Servlet failed with Exception
java.lang.OutOfMemoryError
星期四 五月 16 09:52:29 CST 2002: Servlet failed wit
h Exception
java.lang.OutOfMemoryError
星期四 五月 16 09:53:22 CST 2002: Servlet failed wit
h Exception
java.lang.OutOfMemoryError
asasd星期四 五月 16 09:53:31 CST 2002: Servlet faile
d with Exception
java.lang.OutOfMemoryError
星期四 五月 16 09:53:37 CST 2002: Servlet failed wit
h Exception
java.lang.OutOfMemoryError
请教各位高手,到底是怎么回事呀,原因在哪里,我都要急疯了,解决问题一定有重谢!!
|
java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:
set search path for bootstrap classes and reso
ces
-Xbootclasspath/a:
append to end of bootstrap class path
-Xbootclasspath/p:
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc: log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms set initial Java heap size
-Xmx set maximum Java heap size
-Xss set java thread stack size
-Xprof output cpu profiling data
-Xrunhprof[:help]|[:=, ...]
perform JVMPI heap, cpu, or monitor profiling
-Xdebug enable remote debugging
-Xfuture enable strictest checks, anticipating future d
ault
-Xrs reduce use of OS signals by Java/VM (see docum
tation)
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:
set search path for bootstrap classes and reso
ces
-Xbootclasspath/a:
append to end of bootstrap class path
-Xbootclasspath/p:
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc: log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms set initial Java heap size
-Xmx set maximum Java heap size
-Xss set java thread stack size
-Xprof output cpu profiling data
-Xrunhprof[:help]|[:=, ...]
perform JVMPI heap, cpu, or monitor profiling
-Xdebug enable remote debugging
-Xfuture enable strictest checks, anticipating future d
ault
-Xrs reduce use of OS signals by Java/VM (see docum
tation)
|
看看有没有"memory leak",java也有这个问题。
1 你认为一个对象再没有地方用到了,从java的角度仔细看看;通常是这种情况。而你又建了一个同类的对象,然后你又认为没有地方用到了(java垃圾回收已经破坏掉了),然后又建了一个。。。。。。。
2 java垃圾回收器运行的级别应该比较低,没有机会运行
1 你认为一个对象再没有地方用到了,从java的角度仔细看看;通常是这种情况。而你又建了一个同类的对象,然后你又认为没有地方用到了(java垃圾回收已经破坏掉了),然后又建了一个。。。。。。。
2 java垃圾回收器运行的级别应该比较低,没有机会运行
|
建议看看java -help,可以使用参数来重新设定jvm所使用的内存的大小的,使用-Xmx700m等来设置。
个人意见,仅供参考。
个人意见,仅供参考。
|
看一下你weblogic里的属性文件在建立你的数据库连接池时把MaxCapacity参数加大点如
CapacityIncrement="1"
DriverName="oracle.jdbc.driver.OracleDriver"
InitialCapacity="2"
加大点
Name="OracleThinPool"
Properties="user=scott;password=tiger;dll=ocijdbc8;protocol=thin"
Targets="myserver"
或是你们在写程序时,没有关闭ResultSet 吧
CapacityIncrement="1"
DriverName="oracle.jdbc.driver.OracleDriver"
InitialCapacity="2"
加大点
Name="OracleThinPool"
Properties="user=scott;password=tiger;dll=ocijdbc8;protocol=thin"
Targets="myserver"
或是你们在写程序时,没有关闭ResultSet 吧
|
把你weblogic的 MaxCapacity=加在点(在属性文件里),或再看看你们的程序中的ResultSet 是不是没有关闭
|
肯定是你的面页内有一段while之类的东西,然而resultset又没有movenext所以堆栈才会出问题
|
多留意留意static变量,尤其是观察这样的变量是否引用了其他变量