系统问题排查
- 先看数据库状态. 尤其是数据库链接. 使用 - show processlist[查看链接状态];SHOW ENGINE INNODB STATUS[查看数据库是否有死锁]
- top、iostat等,看cpu使用率、负载是否过高;内存是否占满;磁盘io是否超负荷
- 通jstack、jmap等看Java是否有死锁、gc是否过于频繁、内存是否溢出
- 查java应用日志,看有什么异常
- 看网络带宽是否占满. nginx是否太多time_out
这类系统故障概率大致出问题的地方:
- 数据库 - 40%. 主要是锁死、慢查询
- java应用 - 30%. 主要是线程锁死、内存溢出、gc频繁导致应用暂停
- 系统资源 - 20%. cpu、内存、磁盘io
- 其他 - 10%