当前位置: 首页 > news >正文

服务器宕机与服务崩溃排查及解决方案

一、服务器宕机排查及解决方案

Windows 服务器宕机排查

  1. 事件查看器分析

    • 打开"事件查看器" → "Windows 日志" → "系统"

    • 查找关键错误(红色标记)和警告(黄色标记)

    • 重点关注事件ID:41(意外关机), 6008(异常关机), 1001(蓝屏信息)

  2. 内存转储分析

    • 检查C:\Windows\Minidump目录下的.dmp文件

    • 使用WinDbg或BlueScreenView工具分析

  3. 性能监控

    • 使用性能监视器(perfmon)检查CPU、内存、磁盘使用情况

    • 检查任务管理器中资源占用高的进程

  4. 常见解决方案

    • 更新系统补丁和驱动程序

    • 检查硬件健康状况(内存测试、磁盘检查)

    • 调整虚拟内存设置

    • 禁用非必要服务和启动项

Linux 服务器宕机排查

  1. 系统日志分析

    # 查看系统日志
    journalctl -xb
    # 或
    cat /var/log/messages
    cat /var/log/syslog
    cat /var/log/kern.log
  2. 内存和OOM分析

    # 检查内存使用情况
    free -h
    # 检查OOM killer日志
    dmesg | grep -i "oom"
  3. 内核崩溃分析

    # 检查内核崩溃转储
    cat /var/crash/*
    # 使用crash工具分析
    crash /usr/lib/debug/lib/modules/$(uname -r)/vmlinux /var/crash/<dumpfile>
  4. 常见解决方案

    • 调整OOM killer参数

    • 升级内核版本

    • 增加交换分区大小

    • 优化内存使用配置

二、服务崩溃排查及解决方案

Windows 服务崩溃排查

  1. 服务日志检查

    • 事件查看器 → "应用程序"日志

    • 查找服务相关错误事件

  2. 服务恢复配置

    • services.msc → 右键服务 → 属性 → "恢复"选项卡

    • 配置第一次、第二次和后续失败时的操作

  3. 进程转储分析

    • 使用procdump创建崩溃转储

    procdump -ma -e -w servicename.exe
    2.使用WinDbg分析转储文件

Linux 服务崩溃排查

  1. 服务日志检查

    # systemd服务日志
    journalctl -u service_name -xb
    # 传统init.d服务日志通常在
    cat /var/log/service_name.log
  2. 核心转储分析

    # 启用核心转储
    ulimit -c unlimited
    echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
    # 分析核心转储
    gdb /path/to/binary /path/to/core
  3. strace跟踪

    strace -f -o service_strace.log /etc/init.d/service start

Docker 容器服务崩溃排查

  1. 容器日志检查

    docker logs [container_id]
    docker logs --tail 100 -f [container_id]  # 实时查看最后100行
  2. 容器内进程检查

    docker top [container_id]
    docker exec -it [container_id] ps aux
  3. 容器资源限制检查

    docker stats [container_id]
    docker inspect [container_id] | grep -i mem
  4. 常见解决方案

    • 增加容器内存限制

    • 调整应用配置适应容器环境

    • 检查应用对信号处理的正确性

    • 确保应用日志输出到stdout/stderr

三、通用排查流程

  1. 信息收集

    • 记录崩溃时间、频率和模式

    • 收集系统资源使用情况(CPU、内存、磁盘、网络)

    • 收集应用和系统日志

  2. 重现问题

    • 尝试在测试环境重现

    • 监控系统资源变化

  3. 隔离问题

    • 通过排除法确定问题范围

    • 检查最近变更(更新、配置修改等)

  4. 解决方案实施

    • 实施最小化修改

    • 监控解决方案效果

    • 准备回滚方案

  5. 预防措施

    • 建立监控告警系统

    • 实施定期健康检查

    • 完善日志收集和分析流程

四、常用工具推荐

Windows

  • Process Explorer: 高级进程管理

  • Resource Monitor: 资源监控

  • PerfMon: 性能监控

  • WinDbg: 内存转储分析

Linux

  • htop/top: 进程监控

  • vmstat/iostat: 系统资源监控

  • netstat/ss: 网络连接检查

  • lsof: 打开文件检查

  • tcpdump: 网络抓包

Docker

  • ctop: 容器监控

  • dive: 镜像分析

  • docker-compose: 多容器管理

  • portainer: 可视化容器管理

http://www.dtcms.com/a/317916.html

相关文章:

  • Aop中的相关术语
  • Windows 操作系统 - Windows 修改颜色(界面元素颜色)
  • SpringBoot 整合Langchain4j 对接主流大模型实战详解
  • JAVA无人系统台球茶室棋牌室系统支持H5小程序APP公众号源码
  • 初识浏览器扩展,搭建你的“秘密基地”
  • 基于2025年《Science》期刊论文的科研图表Python绘制分析
  • CDP集群中通过Hive外部表迁移HBase数据的操作记录
  • 使用 Apache DolphinScheduler 构建和部署大数据平台,将任务提交至 AWS 的实践经验
  • 常用排序方法
  • Redis的分布式序列号生成器原理
  • Vue Vant使用
  • CEH、OSCP、CISP、CISSP 四大网络安全认证攻略
  • o2o 商城系统数据分析管理系统模块设计
  • ZYNQ实现FFT信号处理项目
  • Godot ------ 初级人物血条制作02
  • SpringCloud -- elasticsearch(二)
  • wordpress网站的“管理员邮箱地址”有什么用?
  • CVE-2021-30661、CVE-2021-30665、CVE-2021-30666
  • c++类常用默认成员函数细节分析
  • Godot ------ 初级人物血条制作01
  • linux-系统性能监控
  • 如何测试一个机器是大端还是小端
  • cocos Uncaught TypeError: Cannot read properties of null (reading ‘SetActive‘)
  • 达梦数据库日常运维命令
  • Node.js从入门到精通完整指南
  • 查看ubuntu server 的基本信息
  • 【DeepID】《Deep Learning Face Representation from Predicting 10,000 Classes》
  • 项目中使用的设计模式
  • GPT-OSS 与 Ollama 完整安装使用教程
  • 如何自动生成 API 接口文档 - 一份详细指南