2015-10-26 118 views
-4

我们使用WAS 7服务器,CPU利用率很高。下面是SystemOut日志,可以帮助我们分析原因吗?线程长,CPU利用率高

[10/21/15 17:42:57:651 EST] 00000031 ThreadMonitor W WSVR0605W: Thread "WebContainer : 22" (00000063) has been active for 663934 milliseconds and may be hung. There is/are 19 thread(s) in total in the server that may be hung. 
+0

谁是“我们”?你能提供更多的信息吗? –

回答

-1

您提供的错误仅表示您的线程没有获取cpu/cpu时间来完成其任务。

  1. 问题可以与您的应用程序,即某些方法负责高CPU使用率。要么没有正确书写(实施问题)或解决方案设计(设计问题)不是最佳的。要找出罪魁祸首,请使用分析器,静态代码分析工具来分析您的应用程序。调整/优化方法/代码片段,然后再次检查。

  2. 如果所有的方法都不是CPU繁重,并且设计和实现都很好,那么可能是因为线程。检查CPU在浪费时间。它真的忙于做有用的工作,或者只是做无用的工作(即,忙碌的等待,上下文切换等)。如果你的应用程序做了不必要的/非有用的工作,那么尝试实现线程池/线程非阻塞队列。

这样做也监控您的其他资源(存储/网络/盘),如果你的应用程序层,如数据库/网络/ LDAP等,特别是如果他们被部署在同一服务器上。

我希望这至少能帮助你找到一个你需要看的地方。