生产问题定位
排除应用之外的影响因素:
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查看阻塞态线程堆栈
最后更新于
这有帮助吗?