Linux系统上的Watchdog实现

为了满足“高可用性”的需求,人们设计了”watchdog”,俗称“看门狗”。

“Watchdog” 在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。

硬件
搜索 “watchdog card”和“看门狗卡”,可以找相关的信息,常见的是PCI接口和USB接口,体积很小。

软件
有很多相关的软件用来做“看门狗”。

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。

内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备,就会导致在内核中启动一个 1分钟的定时器,此后,用户空间程序需要保证在 1分钟之内向这个设备写入数据,每次写操作会导致重新设定定时器。如果用户空间程序在 1分钟之内没有写操作,定时器到期会导致一次系统 reboot 操作。

用户空间程序可通过关闭 /dev/watchdog 来停止内核中的定时器。

用户空间的 watchdog 守护进程:
在用户空间,还有一个叫做 watchdog 的守护进程,它可以定期对系统进行检测,包括:

* Is the process table full?
* Is there enough free memory?
* Are some files accessible?
* Have some files changed within a given interval?
* Is the average work load too high?
* Has a file table overflow occurred?
* Is a process still running? The process is specified by a pid file.
* Do some IP addresses answer to ping?
* Do network interfaces receive traffic?
* Is the temperature too high? (Temperature data not always available.)
* Execute a user defined command to do arbitrary tests.

如果某项检测失败,则可能导致一次 soft reboot (模拟一次 shutdown 命令的执行),它还可以通过 /dev/watchdog 来触发内核 watchdog 的运行。

内核级”watchdog”与用户空间的”watchdog”的主要区别是,内核态的”watchdog”抗干扰能力强,运行稳定。

[转自](https://blog.csdn.net/bamboolsu/article/details/43058583)

linux看门狗机制相关推荐

  1. MTK 驱动开发(48)---ARM 看门狗机制

    ARM 看门狗机制 [包括MTK] SYS_LAST_KMSG里的hw_status和fiq step的含义 阅读数:559 [DESCRIPTION] SYS_LAST_KMSG这支文件是记录上次重 ...

  2. linux看门狗使用

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 dev/watchdog ...

  3. linux软件实现看门狗,一个软件实现的Linux看门狗—soft_wdt

    soft_wdt(下面简称本软件)是一个软件实现的Linux看门狗. 本软件是一款开源.免费软件. 下载地址: 本软件和/drivers/watchdog/softdog.c实现的软件看门狗差点儿一样 ...

  4. iOS 的看门狗机制

    背景 应用 100% Loss 时完全无法启动,一直崩溃.彻底切断网络连接正常启动,调试模式状态下等待时间非常久,但可以启动,并伴随 UI 微卡.强烈的预感这是线程阻塞.前一段时间被 Core Dat ...

  5. iOS-watchdog看门狗机制

    背景 应用 100% Loss 时完全无法启动,一直崩溃.彻底切断网络连接正常启动,调试模式状态下等待时间非常久,但可以启动,并伴随 UI 微卡.强烈的预感这是线程阻塞.前一段时间被 Core Dat ...

  6. iOS- Exception Type: 00000020:什么是看门狗机制

    1.前言    前几天我们项目闪退之后遇到的一个Crash,之后逛了许多论坛,博客都没有找到满意的回复  在自己做了深入的研究之后,对iOS的看门狗机制有了一个基本的了解  而有很多奇怪的Crash可 ...

  7. iOS- Exception Type: 00000020:什么是看门狗机制(转)

    1.前言 前几天我们项目闪退之后遇到的一个Crash,之后逛了许多论坛,博客都没有找到满意的回复 在自己做了深入的研究之后,对 iOS的看门狗机制有了一个基本的了解 而有很多奇怪的Crash可能恰恰就 ...

  8. 整合redisson了解分布式锁的配置熟悉lock的看门狗机制以及应用

    java相对主流分布式锁 - redis的Redisson (Java implementation) the Redlock 设计 1.引入依赖 <!-- https://mvnreposit ...

  9. ARM 看门狗机制 [包括MTK] 【1】

    watchdog一般是一个硬件模块(其实可以当做是一个定时器),其作用是,在嵌入式操作系统中,很多应用情况是系统长期运行且无人看守,导致程序跑飞,所以难免怕万一出现系统死机,那就悲剧了,这时,watc ...

  10. linux看门狗树莓派,给树莓派安装看门狗

    你还在担心树莓派死机吗?给他装个看门狗吧! 什么是看门狗程序? 看门狗程序就是一个健康监控程序,每间隔一定时间(默认10秒)检查一次是否在设定的健康工作范围内,如果超过即启动硬件复位程序,让设备重新启 ...

最新文章

  1. C语言实现AES加解密
  2. 协方差、协方差矩阵的解释意义
  3. Ubuntu自带pdf查看器不能显示中文解决问题
  4. javascript php xmlhttp file,xmlHTTP实例_javascript技巧
  5. 【linux】Linux查看服务器登陆用户信息命令(w、last、who)详解
  6. 个人项目:wc程序(java)
  7. ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面...
  8. git rebase 工作流
  9. 用命令行快速打开软件
  10. 通过filebeat、logstash、rsyslog采集nginx日志的几种方式
  11. boost noncopyable实现禁止类拷贝
  12. 台式计算机拆装过程和注意事项,怎么组装台式电脑 台式电脑组装注意事项
  13. 【Android初学者】UI组件 介绍
  14. 由于改 UOM conversion 导致库存数量和财务上的数据错误
  15. 计算机自带录像视频文件代码,Windows自带录屏如何录制视频文件?
  16. 在unity中如何实现群体行为模拟步骤详解
  17. jquery each,grap遍历方法
  18. 【补】2011年6月云南自助旅行游记。前几天
  19. airpodspro窃听模式_AirPods怎么开启助听模式 实时收听设置方法介绍
  20. 刘强东的代码水平到底有多牛?网友:95年一个晚上赚5万

热门文章

  1. 吸尘器上亚马逊要求UL1017测试报告怎么办
  2. selenium2 原理和常用api
  3. 《剑指Offer》刷题笔记汇总
  4. php编程常用英语词汇,泰牛程序员 PHP编程掌握的英语词汇(3) 韩顺平整理
  5. Qwins系统工具v1.3.0绿色版
  6. postgresql和mysql语句区别_postgresql和mysql语句区别
  7. Xposed框架未安装解决方法
  8. C语言习题5.21--学生成绩的处理
  9. 学习Linux-4.12内核网路协议栈(1.1)——系统的初始化(do_initcalls)
  10. 使用GoldWave为音频添加特效