线程挂起,CPU利用率高

时间:2015-10-26 07:33:16

标签: performance

我们正在使用WAS 7服务器,获得高CPU利用率。下面是SystemOut日志,有人可以帮助我们分析原因吗?

[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.

1 个答案:

答案 0 :(得分:-1)

您提供的错误只是意味着您的线程没有获得cpu / cpu时间来完成其任务。

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

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

  3. 执行此操作还会监视您的其他资源(内存/网络/磁盘)以及您的应用程序是否类似于database / web / ldap等,特别是如果它们部署在同一服务器上。

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