我在 Redhat 上有 2 个设置 tomcat5.5.20,在另一台 Redhat 服务器上有 mysql 4.1.22。
最近我的网络服务器开始超载,高达 80-90%。
检查后,我发现 catalina.out 中每秒都会出现重复错误。这会导致服务器过载吗?还是其他地方可能是问题的根源?
catalina.输出:
由以下代码于 2010-12-22 13:33:12 创建的 DBCP 对象从未关闭: 异常 在 org.apache.tomcat.dbcp.dbcp.AbandonedTrace.init(AbandonedTrace.java:96)
当服务器负载达到 80-90% 时,我必须每天重启一次 tomcat。此外,catalina.out 文件增长得太快,每隔几个小时就需要清除日志。
我的数据源配置:
<bean id="myDataSource" class="org.apache.tomcat.dbcp.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property>
jdbc:mysql://XXX/XXX?autoReconnect=true 20 20
<property name="maxIdle">
<value>50</value>
</property>
<property name="maxActive">
<value>50</value>
</property>
<property name="removeAbandoned">
<value>false</value>
</property>
<property name="removeAbandonedTimeout">
<value>2400</value>
</property>
<property name="username">
<value>XXX</value>
</property>
<property name="password">
<value>XXX</value>
</property>
</bean>
谢谢您的指导。
答案1
我不确定我是否有足够的信息来真正评估您的情况,但根据您提供的信息,我给出以下猜测:将 false 改为 true。
<property name="removeAbandoned">
<value>false</value>
</property>
我想象你的代码正在打开一些东西然后在结束之前不关闭它们。