news 2026/6/23 7:03:59

systemd-resolved.service实验实战3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
systemd-resolved.service实验实战3

Systemd 设计模式:CrashGuard (防止无限重启)

痛点 (The Problem):
你给服务设置了Restart=always,但程序有 Bug,启动后 1 秒即崩。
后果:Systemd 陷入死循环(重启风暴),CPU 飙升 100%,日志塞满磁盘,甚至导致无法 SSH 登录。

解法 (The Solution):
不要无脑重启。限制频率,并在彻底失败后触发备用方案

1. 核心机制 (背下这 3 个参数)

  • StartLimitIntervalSec: 时间窗口 (例如 10秒)。
  • StartLimitBurst: 允许崩溃的最大次数 (例如 3次)。
  • OnFailure: 当达到限制后,Systemd 放弃重启,转而启动的服务。

2. 实战配置

服务 A:不稳定的主程序 (受害者)

/etc/systemd/system/unstable-app.service

[Unit] Description=My Buggy App # 【规则】如果在 10秒 内崩溃超过 3次... StartLimitIntervalSec=10 StartLimitBurst=3 # 【动作】彻底停止尝试,并启动下面这个服务: OnFailure=safe-mode.service [Service] # 模拟崩溃 (1秒后退出) ExecStart=/bin/bash -c "sleep 1 && exit 1" Restart=always RestartSec=1
服务 B:安全模式 (救世主)

/etc/systemd/system/safe-mode.service

[Unit] Description=Safe Mode Alert [Service] Type=oneshot # SE 的自救动作:点亮红灯、发短信报警、或者回滚分区 ExecStart=/bin/echo "CRITICAL: 检测到重启风暴,已进入安全模式!"

3. 运行流程 (The Flow)

  1. 启动:unstable-app启动 ->崩溃
  2. 重试 1: Systemd 重启它 ->崩溃
  3. 重试 2: Systemd 重启它 ->崩溃
  4. 触发阈值: Systemd 发现 “10秒内崩了3次”。强制停止unstable-app
  5. 故障转移: Systemd 自动启动safe-mode.service

SE 经验总结:
永远不要只写Restart=always而不加StartLimit
这是“偶尔故障”和“设备变砖”之间的区别。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 23:59:27

League Akari:6个实用功能让你告别繁琐操作,轻松上分

League Akari:6个实用功能让你告别繁琐操作,轻松上分 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari …

作者头像 李华
网站建设 2026/6/12 16:35:17

QDialog-基础讲解

注意:前面都是基础讲解,如果有什么不懂的可以看看,但是如果只是想看实际运用场景,建议只看自定义案例 这里是目录标题自定义案例问题互动案例互动The QDialog class is the base class of dialog windowsQDialog 类是对话框窗口的…

作者头像 李华
网站建设 2026/6/22 23:55:38

深度学习打卡第J2周:ResNet50V2算法实战与解析

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 import tensorflow as tf import tensorflow.keras.layers as layers from tensorflow.keras.models import Modeldef block2(x, filters, kernel_size3, stri…

作者头像 李华
网站建设 2026/6/22 5:43:06

搜维尔科技:MANUS数据手套实现远程虚拟现实神经外科手术训练

理工学院纳米沉浸式实验室沉浸式实验室是理工学院的多学科空间,旨在可视化复杂数据并开发沉浸式技术原型。它为科学、工程和艺术领域的用户提供增强现实和虚拟现实研究、动作捕捉以及数字物理交互方面的支持。外科手术训练挑战现代神经外科技术对精准度要求极高&…

作者头像 李华
网站建设 2026/6/19 10:01:47

端侧多模态新纪元:MiniCPM-V 2.6重新定义移动端AI交互体验

在人工智能技术迅猛发展的今天,多模态理解能力已成为衡量AI模型智能化水平的核心指标。近日,由OpenBMB团队推出的MiniCPM-V 2.6模型在该领域取得显著进展,尤其在资源受限的端侧设备上展现出令人瞩目的性能表现。这款融合视觉与语言理解能力的…

作者头像 李华