我们正在使用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.
答案 0 :(得分:-1)
您提供的错误只是意味着您的线程没有获得cpu / cpu时间来完成其任务。
问题可能与您的应用程序有关,即某些方法负责高CPU使用率。其未正确编写(实施问题)或解决方案设计(设计问题)不是最佳的。要找出罪魁祸首,请使用分析器,静态代码分析工具来描述您的应用程序。调整/优化方法/代码片然后再次检查。
如果所有方法都不是cpu很重,设计和实现都很好,那么它可能是因为线程。检查cpu在哪里浪费时间。它是否真的忙于做有用的工作或只做无用的工作(io,繁忙的等待,上下文切换等)如果你的应用程序正在做不必要/无用的工作,那么尝试实现线程池/线程非阻塞队列。
执行此操作还会监视您的其他资源(内存/网络/磁盘)以及您的应用程序是否类似于database / web / ldap等,特别是如果它们部署在同一服务器上。
我希望这至少可以帮助你找到一个你需要看的地方。