SlideShare a Scribd company logo
1 of 28
Download to read offline
线上问题排查交流
@单农 - 挖财信用卡技术部
Agenda
• “汽车追尾”事故
• 快速响应线上问题
• 常见问题
汽车追尾
当事人 事故现场(道路) 交通警察
线上问题
代码 问题现场(服务器) 开发同学
快速响应线上问题
三步走:
1. 保存问题现场(快速分析)
2. 重启线上服务器
3. 线下定位问题代码
保存问题现场-1
工欲善其事,必先利其器
• jps - JVM Process Status Tool
• /data/program/<groupId>/<artifactId>/<version>/bin/servi
ce.sh dump
• jstat - JVM Statistics Monitoring Tool
• jinfo - Configuration Info for Java
• jstack - Stack Trace for Java (Thread Dump)
• jmap - Memory Map for Java (Heap Dump)
• bin/service.sh heapdump
保存问题现场-2
• jps -lmv | grep $appname
• jstat -gccapacity -h7 $pid 1s、jstat -gcutil -h7 $pid 1s
• jinfo $pid
• jstack $pid
• jmap -dump:live,format=b,file="$filename" $pid
• jmap -histo $pid、jmap -heap $pid
保存问题现场-3
• top - display Linux tasks
• lsof - list open files
• netstat - Print network connections, routing tables, interface
statistics, masquerade connections, and multicast memberships
• iostat - Report Central Processing Unit (CPU) statistics and
input/output statistics for devices and partitions
• mpstat - Report processors related statistics
• vmstat - Report virtual memory statistics
• free - Display amount of free and used memory in the system
• sar - Collect, report, or save system activity information
• uptime - Tell how long the system has been running
保存问题现场-4
• top -d 3 -u $username、top -H
• lsof -p $pid
• netstat -an
• iostat
• mpstat -P ALL 3
• vmstat -S M
• free -th
• sar
• uptime
快速分析-监控体系
Grafana监控-系统概述
服务器压力
网卡
连接资源
Grafana监控-CPU
CPU 90%+:top -H + jstack
线程上下文切换/锁竞争激烈
死循环:HashMap
Grafana监控-内存
内存泄漏:top
堆:jmap -histo $pid
Grafana监控-网络
搞活动请求量巨大,网卡被打满
返回数据是否过大
Grafana监控-磁盘
日志打印不合理
Grafana监控-TCP状态
服务请求压力/接口响应过慢
连接资源泄漏:top + jstack
Grafana监控-JVM
重启/JVM进程僵死
Grafana监控-GC
曲线规律性:GC是否正常
Grafana监控-Tomcat
Tomcat线程数被打满
Kibana-日志查询
异常或错误的数量
重启线上服务器
• Obelisk - 一键发布/部署平台
线下定位问题代码
• IBM Thread and Monitor Dump Analyze for Java: jstack
• Eclipse Memory Analyzer (MAT) - Java heap analyzer:
jmap
• BTrace - dynamic tracing tool for Java: 在线定位
• cat netstat.dump | awk '/^tcp/ {++S[$NF]} END {for(a in
S) print a, S[a]}'
Thread Dump List
Thread Status Analysis
常见问题
• 连接资源泄漏:连接超时未设置
• TCP CLOSE_WAIT + top + jstack
• CPU高:死循环之HashMap
• top -H + jstack
• 内存泄漏:
• jmap
–Johnny Appleseed
“敬畏线上的任何异常。”
感谢同行的工作
• JDK Tools and Utilities
• Linux Performance Analysis and Tools - Brendan Gregg
• Java常见问题排查 - 毕玄(BlueDavy,林昊)
• 高性能的Java代码编写及常见问题排查 - 毕玄
• Java线上应用问题排查方法和工具 - 空望
• IBM Thread and Monitor Dump Analyze for Java
• Eclipse Memory Analyzer (MAT)
• BTrace - a safe, dynamic tracing tool for the Java platform
Q&A
Thanks!

More Related Content

What's hot

Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇bluedavy lin
 
Java常见问题排查
Java常见问题排查Java常见问题排查
Java常见问题排查bluedavy lin
 
Golang advance
Golang advanceGolang advance
Golang advancerfyiamcool
 
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查bluedavy lin
 
并发编程交流
并发编程交流并发编程交流
并发编程交流bluedavy lin
 
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇bluedavy lin
 
Jvm基础调优实践(v1.0)
Jvm基础调优实践(v1.0)Jvm基础调优实践(v1.0)
Jvm基础调优实践(v1.0)ddviplinux
 
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)wang hongjiang
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术Feng Yu
 
服务器端性能优化
服务器端性能优化服务器端性能优化
服务器端性能优化cenwenchu
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术团队
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践zhliji2
 
聊聊我接触的集群管理
聊聊我接触的集群管理聊聊我接触的集群管理
聊聊我接触的集群管理rfyiamcool
 
MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB
 
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba海量日志分析系统实践,Dba
海量日志分析系统实践,DbaCevin Cheung
 
5.6 nutshell - 性能优化
5.6 nutshell  - 性能优化5.6 nutshell  - 性能优化
5.6 nutshell - 性能优化Hui Liu
 
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化丁 宇
 
Ceph in UnitedStack
Ceph in UnitedStackCeph in UnitedStack
Ceph in UnitedStackRongze Zhu
 
JVM内容管理和垃圾回收
JVM内容管理和垃圾回收JVM内容管理和垃圾回收
JVM内容管理和垃圾回收Tony Deng
 

What's hot (20)

Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇
 
Java常见问题排查
Java常见问题排查Java常见问题排查
Java常见问题排查
 
Golang advance
Golang advanceGolang advance
Golang advance
 
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
 
并发编程交流
并发编程交流并发编程交流
并发编程交流
 
JVM及其调优
JVM及其调优JVM及其调优
JVM及其调优
 
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
 
Jvm基础调优实践(v1.0)
Jvm基础调优实践(v1.0)Jvm基础调优实践(v1.0)
Jvm基础调优实践(v1.0)
 
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
 
服务器端性能优化
服务器端性能优化服务器端性能优化
服务器端性能优化
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践
 
聊聊我接触的集群管理
聊聊我接触的集群管理聊聊我接触的集群管理
聊聊我接触的集群管理
 
MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB at Qihoo 360
MongoDB at Qihoo 360
 
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
 
5.6 nutshell - 性能优化
5.6 nutshell  - 性能优化5.6 nutshell  - 性能优化
5.6 nutshell - 性能优化
 
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
 
Ceph in UnitedStack
Ceph in UnitedStackCeph in UnitedStack
Ceph in UnitedStack
 
JVM内容管理和垃圾回收
JVM内容管理和垃圾回收JVM内容管理和垃圾回收
JVM内容管理和垃圾回收
 

Similar to 线上问题排查交流

Monitor is all for ops
Monitor is all for opsMonitor is all for ops
Monitor is all for ops琛琳 饶
 
大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdfchachachat
 
Jvm问题定位和排错
Jvm问题定位和排错Jvm问题定位和排错
Jvm问题定位和排错Wan Kaiming
 
PHP Optimization for Millions Visits Level
PHP Optimization for Millions Visits LevelPHP Optimization for Millions Visits Level
PHP Optimization for Millions Visits LevelHo Kim
 
2012 淘宝D2技术沙龙
2012 淘宝D2技术沙龙2012 淘宝D2技术沙龙
2012 淘宝D2技术沙龙lhqunar
 
線上埋碼資料收集實作
線上埋碼資料收集實作線上埋碼資料收集實作
線上埋碼資料收集實作FEG
 
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Etu Solution
 
Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)家雋 莊
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...acelyc1112009
 
receiving packets faster
receiving packets fasterreceiving packets faster
receiving packets fasteryang peng
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法Jazz Yao-Tsung Wang
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
纵览Loadrunner核心功能
纵览Loadrunner核心功能纵览Loadrunner核心功能
纵览Loadrunner核心功能beiyu95
 
2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPT2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPTlhqunar
 
2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPT2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPTlhqunar
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践丁 宇
 
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝drewz lin
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例maclean liu
 
Linux Network Monitoring
Linux Network MonitoringLinux Network Monitoring
Linux Network MonitoringKenny (netman)
 

Similar to 线上问题排查交流 (20)

Monitor is all for ops
Monitor is all for opsMonitor is all for ops
Monitor is all for ops
 
大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf大规模高性能计算集群优化.pdf
大规模高性能计算集群优化.pdf
 
Jvm问题定位和排错
Jvm问题定位和排错Jvm问题定位和排错
Jvm问题定位和排错
 
PHP Optimization for Millions Visits Level
PHP Optimization for Millions Visits LevelPHP Optimization for Millions Visits Level
PHP Optimization for Millions Visits Level
 
2012 淘宝D2技术沙龙
2012 淘宝D2技术沙龙2012 淘宝D2技术沙龙
2012 淘宝D2技术沙龙
 
線上埋碼資料收集實作
線上埋碼資料收集實作線上埋碼資料收集實作
線上埋碼資料收集實作
 
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
 
Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
receiving packets faster
receiving packets fasterreceiving packets faster
receiving packets faster
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
纵览Loadrunner核心功能
纵览Loadrunner核心功能纵览Loadrunner核心功能
纵览Loadrunner核心功能
 
2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPT2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPT
 
2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPT2012 淘宝技术沙龙 PPT
2012 淘宝技术沙龙 PPT
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
 
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例
 
Linux Network Monitoring
Linux Network MonitoringLinux Network Monitoring
Linux Network Monitoring
 

线上问题排查交流

Editor's Notes

  1. 小故事阐述大道理 “汽车追尾”事故处理流程: 1、保护现场并报案(当事人) 2、自行组织疏散 3、受理:自行协商、简易程序、一般程序 4、现场处置和调查(交通警察) 5、检验鉴定 6、交通事故认定
  2. 代码 -> 当事人 问题现场(服务器) -> 事故现场(道路) 开发同学 -> 交通警察
  3. 【调查】 哪些同学经常逛Grafana和Kibana? 这些监控数据的价值?(运维为什么要监控这些指标,不监控其他指标呢?他们能帮助我们解决哪些线上问题?)