我的WEB程序运行一段时间就会崩溃,需要重启WEB服务器?有哪些原因阿

时间:2021-11-22 15:52:38
用的是oracle 9i 数据库

目前还没有查出来是哪里影响的,不知道各位遇到这种情况么,做了一些什么改动?

14 个解决方案

#1


内存在用太多了吧,用过的对象要就是释放。。。
尤其是 session

#2


太多的对象创建以后没有释放吧

#3


记录详细的LOG日志,然后分析崩溃时的

#4


估计是系统资源用尽,建议查看log日志

#5


不知道是什么问题??

关注!

up!

#6


内存在用太多了,用过的对象必须就是释放。。。
session,还有在数据访问时也要注意,用完后要关闭,数据访问控件更要注意!

#7


你这个现象是不是程序若干时间后,就无法访问,但重启服务器或IIS又正常?
如果是,这种问题我也碰到过,而且是同一个数据库,同一台服务器,某些程序(网站)可运行,某些就不运行.我也查过许多资料及试验过许多做法,都没有效果,非常不理解.
但是很奇怪的是,不知道什么时候,它又正常了.

你可重点查你机器的内存/病毒/防毒程序.

有结果的话,请写出来大家共同参照.

#8


一般是代码写的不够规范,比如,代码不精简,导致执行时间过长,数据库连接不及时关闭,Session对象等

#9


Mark

#10


其中数据库接口是用了下面这个,我总得用在cs里是没有问题,用在bs应该会导致连接数目过多吧??
              public OracleConnection  GetConn()
{
OracleConnection _Conn = null;
for (int i = 0; i < _Connections.Count; i++)
{
if (((OracleConnection)_Connections[i]).State == ConnectionState.Closed)
{
// if (i > 0)
// {
LogSystem logSys = LogSystem.Instance();
logSys.LogMessage("Connection ID: " + i);
// }
_Conn = (OracleConnection)_Connections[i];
break;
}
}
if (_Conn == null)
{
_Conn = new OracleConnection(_FullString);
_Connections.Add(_Conn);
}
return _Conn;
}

#11


老兄们,我目前也给这样的问题烦死了

#12


SESSION在使用后一定要释放,数据库连接在完成一次操作后要关闭,最好也释放掉!还有代码的效率不高!

#13


水晶报表中用到了比较大的session,每次报表上发生动作都需要用往返服务器,怎么办

#14


目前对session做了这样的处理,每次赋值之前,先session["name"] =null

另外发现,调用水晶报表的时候内存要多增加20M

#1


内存在用太多了吧,用过的对象要就是释放。。。
尤其是 session

#2


太多的对象创建以后没有释放吧

#3


记录详细的LOG日志,然后分析崩溃时的

#4


估计是系统资源用尽,建议查看log日志

#5


不知道是什么问题??

关注!

up!

#6


内存在用太多了,用过的对象必须就是释放。。。
session,还有在数据访问时也要注意,用完后要关闭,数据访问控件更要注意!

#7


你这个现象是不是程序若干时间后,就无法访问,但重启服务器或IIS又正常?
如果是,这种问题我也碰到过,而且是同一个数据库,同一台服务器,某些程序(网站)可运行,某些就不运行.我也查过许多资料及试验过许多做法,都没有效果,非常不理解.
但是很奇怪的是,不知道什么时候,它又正常了.

你可重点查你机器的内存/病毒/防毒程序.

有结果的话,请写出来大家共同参照.

#8


一般是代码写的不够规范,比如,代码不精简,导致执行时间过长,数据库连接不及时关闭,Session对象等

#9


Mark

#10


其中数据库接口是用了下面这个,我总得用在cs里是没有问题,用在bs应该会导致连接数目过多吧??
              public OracleConnection  GetConn()
{
OracleConnection _Conn = null;
for (int i = 0; i < _Connections.Count; i++)
{
if (((OracleConnection)_Connections[i]).State == ConnectionState.Closed)
{
// if (i > 0)
// {
LogSystem logSys = LogSystem.Instance();
logSys.LogMessage("Connection ID: " + i);
// }
_Conn = (OracleConnection)_Connections[i];
break;
}
}
if (_Conn == null)
{
_Conn = new OracleConnection(_FullString);
_Connections.Add(_Conn);
}
return _Conn;
}

#11


老兄们,我目前也给这样的问题烦死了

#12


SESSION在使用后一定要释放,数据库连接在完成一次操作后要关闭,最好也释放掉!还有代码的效率不高!

#13


水晶报表中用到了比较大的session,每次报表上发生动作都需要用往返服务器,怎么办

#14


目前对session做了这样的处理,每次赋值之前,先session["name"] =null

另外发现,调用水晶报表的时候内存要多增加20M