首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CLI工具找出Wildfly 11上哪些线程占用了大量CPU?

如何使用CLI工具找出Wildfly 11上哪些线程占用了大量CPU?
EN

Stack Overflow用户
提问于 2018-09-07 03:31:59
回答 2查看 830关注 0票数 6

我在Amazon Linux上使用带有Java 8的Wildfly 11。如何使用Wildfly CLI工具监控线程使用情况?我们的应用服务器上的CPU利用率很高,我正在尝试找出有问题的theads和操作是什么。我们的服务器上没有安装"jconsole“,或者本文可能会对我们有所帮助-- http://www.mastertheboss.com/jboss-server/jboss-monitoring/how-to-monitor-jboss-cpu-usage

具体地说,我想知道我必须在CLI工具中键入的Wildfly子系统的名称是什么,它将显示长时间运行/高CPU使用率的线程。

EN

回答 2

Stack Overflow用户

发布于 2018-09-07 16:53:30

我会使用Java任务控制和它的飞行记录功能。您将需要获取jconsole.bat或jconsole.sh的副本并进行编辑,以便使用定义的类路径运行jmc。然后使用与jconsole相同的自定义jmx url。

票数 2
EN

Stack Overflow用户

发布于 2018-09-08 11:36:56

要找出哪个线程消耗了更多的CPU,您必须在遇到问题时收集CPU使用率(在RHEL中,使用top命令(top -b -n 1 -H -p JBoss_PID))和线程转储。从顶部的命令输出中,您可以识别使用大量CPU的java线程的进程ID。例如,output top命令显示三个Java线程正在使用CPU:

代码语言:javascript
复制
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  4382 root      25   0 1284m 480m  80m R 39.5 23.7  13:00.64 java
  6657 root      25   0 1284m 480m  80m R 39.5 23.7   7:23.10 java
  16322 root      25   0 1284m 480m  80m R 19.8 23.7  57:51.77 java

使用线程转储分析器( Thread Dump Analyzer,TDA)工具,可以加载与CPU数据一起收集的线程转储。单击右上角窗格中的Native-ID列,按本机线程ID排序,并交叉引用顶部输出中的轻量级线程ID,以查看消耗高CPU的线程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52211014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档