Skip to content

线上系统问题排查检查单

约 704 字大约 2 分钟

手册问题解决方案

2025-07-02

线上系统出现异常问题且没有排查思路时,可根据本清单进行逐一排查。

1. 服务器基础资源检查

CPU使用率

  • top -c 查看CPU总体使用率及占用高的进程
  • vmstat 1 5 查看CPU上下文切换、中断等情况
  • 阈值:持续>80%需关注,>90%需紧急处理

内存使用情况

  • free -h 查看内存和Swap使用情况
  • cat /proc/meminfo 查看详细内存信息
  • 阈值:可用内存<20%需关注,Swap使用>0需检查

磁盘空间

  • df -h 查看各分区使用情况
  • du -sh /* 查找大文件目录
  • 阈值:使用率>80%需关注,>90%需紧急处理

磁盘I/O

  • iostat -x 1 5 查看磁盘I/O负载
  • iotop 查看I/O占用高的进程
  • 阈值:await>10ms需关注,>50ms需处理

网络连接

  • netstat -antp 查看网络连接状态
  • ss -s 查看总连接数统计
  • iftop 查看实时网络流量

2. 数据库检查(Mysql)

数据库连接数

SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';

慢查询日志

  • 检查慢查询是否开启:SHOW VARIABLES LIKE 'slow_query%';
  • 检查慢查询阈值:SHOW VARIABLES LIKE 'long_query_time';
  • 分析慢查询日志:mysqldumpslow -s t /path/to/slow.log

慢日志文件大小

  • ls -lh /var/lib/mysql/*slow.log
  • 检查日志轮转配置

Binlog日志

  • 检查大小:ls -lh /var/lib/mysql/mysql-bin.*
  • 检查过期设置:SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
  • 检查写入位置:SHOW MASTER STATUS;

锁等待情况

SHOW ENGINE INNODB STATUS;
SELECT * FROM sys.innodb_lock_waits;

3. Redis检查

Redis服务器资源

  • top -p $(pgrep redis-server) 查看Redis进程资源占用
  • redis-cli info memory 查看内存使用详情
  • redis-cli info stats 查看操作统计

Redis连接数

  • redis-cli info clients 查看连接数
  • redis-cli info persistence 查看持久化状态

Key数量及内存

  • redis-cli dbsize 查看key数量
  • redis-cli --bigkeys 查找大key

4. 服务注册检查(Nacos)

服务注册状态

  • 登录Nacos控制台检查各服务是否注册

5. 应用服务检查

服务进程状态

  • ps -ef | grep 服务名
  • jps -l (Java服务)

服务日志检查

  • 检查最新错误日志:tail -n 200 /path/to/error.log
  • 搜索特定错误:grep -i "error\|exception" /path/to/logfile

数据库连接池配置检查

JVM状态(Java服务)

  • jstat -gcutil <pid> 1000 5 查看GC情况
  • jmap -heap <pid> 查看堆内存配置

6. 其他检查

定时任务状态

  • crontab -l 查看计划任务
  • 检查最近执行日志

外部依赖服务

  • 检查第三方API可用性
  • 检查支付、短信等关键通道

备注:建议将此检查单与监控系统(如Prometheus+Grafana)结合使用,实现自动化巡检。对于生产环境,关键指标应设置告警阈值。