Skip to main content

进程僵死

线上服务异常及排查思路

对于部署在虚拟机或者物理机上的服务,当发生异常时,我们可以按照以下思路进行排查:

1. 确认服务进程状态以及系统资源的使用情况

通过排查系统资源的使用情况,我们可以初步判断系统环境是否健康。常用指令如下:

  • top:查看系统资源状态,包括CPU使用率、内存使用率以及当前运行的进程的基础信息
  • df:查看系统存储状态
  • iostat:查看系统磁盘IO状态
  • ping:查看网络质量

2. 确认服务进程详细信息

通过排查服务进程的详细信息,可以大致定位问题发生场景。常用指令如下:

  • ps:通过ps -ef查看系统进程的详细信息
  • strace:通过strace -p <pid>查看进程的系统调用和信号,是否卡在某个系统调用上

3. 排查日志

日志是最直观有效的问题排查方案。通过日志,我们可以定位异常发生的上下文信息、程序运行时的堆栈信息等。常用指令如下:

  • tail:通过tail -n 100日志文件最后100行
  • grep:通过tail -n 100 | grep key过滤关键字信息