读书人

tomcat占用cpu很高,该如何处理

发布时间: 2013-02-25 10:23:36 作者: rapoo

tomcat占用cpu很高
我用tomcat的datasource连接池,激活的是1000个连接,数据库用的是oracle10g。
现在遇到一个问题,linux进程里,java占得cpu基本是100%。
服务会很频繁的调用webservice接口,每次传100K左右的数据,
是不是服务器与webservice调用太频繁了,导致cpu升的很高呢??
大侠们 帮帮忙 谢谢啊! tomcat webservice oracle10g
[解决办法]
下面是用来列举所有线程的jsp页面:


<html>

02 <head>

03 <title>Threads in ldcstudy.com</title>

04 <style>

05 body {font-size:8pt;}

06 ol {line-height:18px;}

07 </style>

08 </head>

09 <body>

10 <strong>java.io.tmpdir:</strong>

11 <ul>

12 <li><%=System.getProperty("java.io.tmpdir")%></li>

13 </ul>

14 <br/>

15 <strong>Memory:</strong>

16 <ol>

17 <li>freeMemory=<%=Runtime.getRuntime().freeMemory()/(1024*1024)%>M</li>

18 <li>totalMemory=<%=Runtime.getRuntime().totalMemory()/(1024*1024)%>M</li>

19 <li>maxMemory=<%=Runtime.getRuntime().maxMemory()/(1024*1024)%>M</li>

20 </ol>

21 <br/>

22 <strong>Thread:</strong>

23 <ol>

24 <%for(Thread t : list_threads()){%>

25 <li><%=t.getName()%>(<b><%=t.getState()%></b>) : <%=t.getClass().getName()%></li>

26 <%}%>

27 </ol>

28 <%!

29 public static java.util.List<Thread> list_threads(){

30 int tc = Thread.activeCount();

31 Thread[] ts = new Thread[tc];

32 Thread.enumerate(ts);

33 return java.util.Arrays.asList(ts);

34 }

35 %>

36 </body>

37 </html>


导致CPU 100%的原因,有可能是程序某个地方存在死循环,这个死循环在某种条件下存在,因此通过上面的方法可能找出来。还有可能是连接为关闭等导致的

读书人网 >Java Web开发

热点推荐