生产问题定位
排除应用之外的影响因素:
top
(cpu)、free
(内存)、df
(磁盘)、dstat
(网络流量)、pstack
、vmstat
、st1race
(底层系统调用)top
定位CPU 最高的进程top -Hp pid
定位使用 CPU 最高的线程(或者ps -mp pid -o THREAD,tid,time
)printf '0x%x' tid
线程 id 转化 16 进制jstack pid | grep tid
找到线程堆栈5.1 gc线程(如下是查看gc情况的几种方式)
查看gc 日志
jstat -gcutil 进程号 统计间隔毫秒 统计次数(缺省代表一致统计
如果所在公司有对应用进行监控的组件当然更方便(比如Prometheus + Grafana)
5.2 业务线程
关注线程堆栈的
lock
字段jstack -l pid | grep BLOCKED
查看阻塞态线程堆栈
最后更新于