한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

游戏卡顿白皮书 › L9 服务器游戏进程

服务器崩溃 Server process crash

原因 ID sp-crash · 主责 研发团队·服务器开发 · 配合 运维团队·系统运维

在含图示和实验的完整版中打开此卡片 →

服务器进程因未处理的错误而崩溃时,这台服务器上的所有人会同时掉线。

起因 指向不存在对象的错误(空引用)、错误的数据、内存不足等致命错误 → 结果 服务器(或场景)进程终止 → 画面表现 所有人同时掉线,上次存盘之后的进度可能回档

症状
掉线, 吞操作/回档
因素
停顿
谁会遇到
特定地点/分线, 全服
何时出现
偶尔随机, 做特定操作时
负责方
主责 研发团队·服务器开发 · 配合 运维团队·系统运维
研发团队要做的事
分析崩溃 dump,修复原因;频繁存盘。
运维团队要做的事
进程自动重启;搭建收集、保存崩溃 dump 的环境;服务器宕机立即告警。
监控图上
连接成批断开 · 连接数、进程重启次数
查看位置
coredumpctl list 中的 core dump 记录(时间、PID、终止信号),以及服务管理器(systemd)的异常退出、重启记录。Windows 服务器看 WER 留下的 dump 文件
确认依据
连接数瞬间掉到接近 0 的时刻,有游戏服务器进程的异常退出和 core dump
排除依据
进程一直活着却掉线,看网络设备或空闲超时。如果是长时间停住后由看门狗重启的记录,看死循环或死锁
确认手段
运维工具即可确认(无需游戏代码)

出处

  1. Collecting User-Mode Dumps Microsoft
    通过 Windows 错误报告(WER)设置用户模式程序崩溃时把完整 dump 或迷你 dump 收集到本地
  2. systemd.service(5) — Linux manual page systemd
    Restart=on-failure 在异常退出、信号终止(含 core dump)、看门狗超时时自动重启服务,推荐用于长期运行的服务
  3. coredumpctl(1) — Linux manual page systemd
    用 list 查询 systemd-coredump 保存的 core dump,显示崩溃时间、PID、导致崩溃的信号

相关原因

同一层:L9 服务器游戏进程

其他层中同样导致“掉线”的原因

查看含图示和实验的原卡片