博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jstack 分析程序性能
阅读量:5097 次
发布时间:2019-06-13

本文共 788 字,大约阅读时间需要 2 分钟。

摘录自:https://www.jianshu.com/p/6690f7e92f27

简要说明下步骤:

  1:通过top命令,cpu,占用率较高的进程

  2:通过 top -Hp PID 查看该进程中线程的cpu 占用情况,查找出占用cpu占用时间比较长的线程的PID

  3:  通过 jstack PID 或者 jstack -l >xxx.stack 输出到文件 ,查看进程的堆栈状态 。

  

 

注意事项:

  1:top 命令结果的查看项含义,请参照 Top命名详解

  2:jstack -Hp PID 可能会报如下错误 :

[root@sysware-dts-point-t01 ~]# jstack -l 22056 >/sysware/22.stack22056: Unable to open socket file: target process not responding or HotSpot VM not loadedThe -F option can be used when the target process is not responding

  这个可以参考博客:https://blog.csdn.net/jgwei/article/details/12079147  

  3:jstack查找出堆栈情况,如何定位到占用cpu比较高的对应线程的调用栈

    在top命令中,已经获取到了占用cpu资源较高的线程pid,将该pid转成16进制的值,在thread dump中每个线程都有一个nid,找到对应的nid即可;

    隔段时间再执行一次stack命令获取thread dump,区分两份dump是否有差别;

 

    

转载于:https://www.cnblogs.com/wenq001/p/9444364.html

你可能感兴趣的文章
Centos Development Tools 安装
查看>>
vue form 验证
查看>>
php_扑克类
查看>>
回调没用,加上iframe提交表单
查看>>
socket总结
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>
元素和为目标值的子矩阵数量
查看>>
POJ-1287.Network(Kruskal + Prim + Prim堆优化)
查看>>
Mysql 索引优化 - 1
查看>>
LeetCode(3) || Median of Two Sorted Arrays
查看>>
JSDoc规范
查看>>
大话文本检测经典模型:EAST
查看>>
文本主题模型之LDA(一) LDA基础
查看>>
linux基础命令-chgrp/chown/chomd
查看>>
待整理
查看>>
iOS 6
查看>>
Nginx入门篇-基础知识与linux下安装操作
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
1.linux ping:unknown host www.***.***
查看>>