运行中实例发生重启怎么办?

  1. 查看相应时间点的应用事件

    • 是否存在Liveness失败。三次Liveness失败会引起实例重启。如果存在Liveness失败,排查如下信息。

      1. 查看基础监控,确认是否因CPU、Load过高而引起。

      2. 结合自身业务日志,排查相应时间点是否有业务异常。

    • 是否存在进程退出Container Exit Code,例如Exit Code 137表示被kill -9,通常是因触发Linux系统的OOM Killer机制而强制停止运行。

  2. 查看SAE整体事件

    • 是否存在OOM Killer(Out of Memory Killer)事件或者其他异常事件。如果确认触发了OOM Killer机制,建议调整SAE实例规格,增大内存。

      如果是Java语言,可以参考JVM内存配置最佳实践优化堆内存配置。

    • 可以订阅这些事件,及时掌握容器变化。

  3. 查看应用日志。

    建议您将日志采集到SLS进行持久化存储,便于追溯历史问题。查看容器重启的时间点、应用是否有异常日志,例如Java的OOM。如果实例的1号进程退出,容器会自动重启。