这个问题是这样的,启动了dlog网站的tomcat后,过不了一会CPU就会占到90%以上。
这两天我一直在查找引起这个问题的原因,也因此调整了很多的参数,包括Tomcat的线程数等等,设置将数据库连接池改回原来的DBCP也一样没有什么结果。
后来做了一个页面用来列举Tomcat中的所有线程后发现,当CPU从刚启动的20%上升到90%的时候,有一个用来处理HTTP请求的线程就始终是RUNNABLE,也就是说事实上是这个线程导致整个服务器的CPU飙升的。当我用程序把这个线程stop掉后,CPU又回到最开始的20%上下。
至少可以确定CPU飙升的原因跟应用的几个后台线程是无关的。是跟页面的内容有关系,接下来从这方面入手再进行一番大扫荡看看。
心情: 一般