出现运行一段时间cpu跑到99%的情况,需要检查一下,你放在容器中给容器管理的那部分代码,看是否,将不再使用的资源进行了回收,至于java的回收机制就不在这里讨论了,有利有弊是在所难免的.
另外关于数据库的调用连接,是否在不用的时候关闭,这是最基本的检查
另外关于数据库的调用连接,是否在不用的时候关闭,这是最基本的检查
解决方案 »
- 用友汽车信息科技(上海)高级Java程序员(上海)的面试题目
- java 如何读取MP3比特率 、时间长度等信息
- 菜鸟发问:VisualSVN Server服务端可以设置登录密码吗?
- 用福昕阅读器读pdf正常,但是复制里面的内容到doc出现乱码。
- 不装Eclipse的MyEclipse也能用???
- 用WSDL2Java生成客户端代码时,报java.net.MalformedURLException: no protocol错误
- tomcat支持数据的自动压缩吗?
- socket 客户端每调用一次都会自动关闭,能不能循环监听?
- 一个很菜的HTML问题,解决后就结贴!
- 如何在jboss里配置datasource connectionpool 望高手执教 我用的是mysql
- struts下问题两则
- java中关于对象传输的一个问题
即使数据库连接不关闭,io流不关闭也不会导致cpu 突然占99%。数据库连接不关闭只会导致
内存溢出和连接池中的可用连接用完。
这个就要你很有经验的说了,还是要花点时间去检测,看看日志
你贴一段来看看,JDBC关键写法还是在finally部分!!!!
我们不太可能手工去查找这个问题的。
try{
con = initAction.getCon();
stmt = con.createStatement();
rs = stmt.executeQuery(ques_sql);
while(rs.next())
{
String problem_id = rs.getString("problem_id");
String type = rs.getString("type");
String vote_num = rs.getString("vote_num");
HashMap hm = new HashMap();
hm.put("problem_id",problem_id);
hm.put("type",type);
// hm.put("vote_num",vote_num);
list.add(hm);
}
rs.close();
stmt.close();
con.close();
}catch(Exception e)
{
System.out.println(e.getMessage());
log.error(e.getMessage());
}finally{
Helper.cleanup(stmt,con,rs);
}
2.这个Helper是你们自己写的吧?它是把所有的都关闭吧,通过判断
1.死循环
2.LINUX服务器的问题
3.项目中存在断点,所以这样才存在线程挂起
我们公司还有一个项目,用的是linux版本根我们相同,他们的项目,运行正常,
我想请教您,如何判定断点? 线程挂起会导致cpu资源增加吗?
这个问题不是马上出现,他的是随机的,有时候几天都不出现。用覆盖法去找我想可能找不到
的,因为如果jsp页面上出现死循环,那么此页面可能就没法访问了。