Linux 定位某个jvm进程占用CPU最高的线程
博客专区 > snecker 的博客 > 博客详情
Linux 定位某个jvm进程占用CPU最高的线程
snecker 发表于9个月前
Linux 定位某个jvm进程占用CPU最高的线程
  • 发表于 9个月前
  • 阅读 9
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

命令

#jvm进程ID
pid=2791
# 找出前三位的占用CPU最高的线程tid
tids=$( printf '%x\n' `top -b -n1 -p $pid -H -o %CPU |sed -n '8,10p'|awk '{print $1}'` )
# 合并线程tid 用 '|' 连接起来,方便 grep
tids=`echo $tids|sed  's/\s/\|/g'`
# 线程栈信息
jstack -l $pid |grep -E "${tids}" -A 20 -B 20

如此,便可确定一个进程CPU占用大致在哪些地方

标签: linux jvm jstack
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 38
码字总数 9666
×
snecker
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: