使用Jtop诊断高CPU实例1

使用Jtop诊断高CPU实例1

背景

Windows服务器上已发现进程CPU占用率高,需要找出代码问题。

原理

每2秒刷新所有线程CPU占用时间,由高到低排序,取前10,如线程执行短时任务则此方法无效。这里的CPU占用时间是从连接到进程后,开始算起的线程用户时间+系统时间,所以通常用在问题即将发现前连接而不是运行了一夜再比较大小,意义不大。 我们认为CPU在一段时间内是否占满,应该为监控时间段/CPU核数,如监控了16秒,第1名为4秒,CPU为4核,则表示占满;若监控了24小时,第1名为4秒,则忽略不计。

使用场景

短时间内监控CPU占用较高的进程,发现长时CPU密集型任务。

操作步骤

\1. 进入cmd命令行 cd 到%JAVA_HOME%\bin目录;

\2. 复制 Jtop.jar到%JAVA_HOME%\bin ;

\3. 执行jconsole -pluginpath JTop.jar ;

\4. 选择需要监控的进程,如下图;

在这里插入图片描述

\5. 切换到JTOP TAB页查看结果,显示CPU占用率前十榜单,如下图:

在这里插入图片描述

优化

通过TOP 10,找出接近占满的线程,在“线程”TAB页根据线程名称查找对应的线程堆栈即可。

接近占满的线程,在“线程”TAB页根据线程名称查找对应的线程堆栈即可。

在这里插入图片描述

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值