Watchdog

来源:http://www.cnblogs.com/274914765qq/archive/2016/06/04/5559501.html
-Advertisement-
Play Games

一、簡介 Watchdog主要用於監視系統的運行,Linux內核不僅為各種不同類型的watchdog硬體電路提供了驅動,還提供了一個基於定時器的純軟體watchdog驅動。 驅動源碼位於內核源碼樹drivers\char\watchdog\目錄下。 二、原理 內核 watchdog 模塊通過 /de... ...


一、簡介

Watchdog主要用於監視系統的運行,Linux內核不僅為各種不同類型的watchdog硬體電路提供了驅動,還提供了一個基於定時器的純軟體watchdog驅動。 驅動源碼位於內核源碼樹drivers\char\watchdog\目錄下。

 

二、原理

內核 watchdog 模塊通過 /dev/watchdog 這個字元設備與用戶空間通信。用戶空間程式一旦打開 /dev/watchdog 設備,就會導致在內核中啟動一個 1分鐘的定時器,此後,用戶空間程式需要保證在 1分鐘之內向這個設備寫入數據,每次寫操作會導致重新設定定時器。如果用戶空間程式在 1分鐘之內沒有寫操作,定時器到期會導致一次系統 reboot 操作。

用戶空間程式可通過關閉 /dev/watchdog 來停止內核中的定時器。

在用戶空間,還有一個叫做 watchdog 的守護進程,它可以定期對系統進行檢測,如果某項檢測失敗,則可能導致一次 soft reboot (模擬一次 shutdown 命令的執行),還可以通過 /dev/watchdog 來觸發內核 watchdog 的運行。

 

三、區別與聯繫

1)硬體watchdog有更好的可靠性

硬體watchdog必須有硬體電路支持, 設備節點/dev/watchdog對應著真實的物理設備, 不同類型的硬體watchdog設備由相應的硬體驅動管理。軟體watchdog由一內核模塊softdog.ko 通過定時器機制實現,/dev/watchdog並不對應著真實的物理設備,只是為應用提供了一個與操作硬體watchdog相同的介面。 
軟體watchdog基於內核的定時器實現,當內核或中斷出現異常時,軟體watchdog將會失效。而硬體watchdog由自身的硬體電路控制, 獨立於內核。無論當前系統狀態如何,硬體watchdog在設定的時間間隔內沒有被執行寫操作,仍會重新啟動系統。 

2)硬體watchdog功能更加完備

一些硬體watchdog卡如WDT501P 以及一些Berkshire卡還可以監測系統溫度,提供了 /dev/temperature介面。 對於應用程式而言, 操作軟體、硬體watchdog的方式基本相同:打開設備/dev/watchdog, 在重啟時間間隔內對/dev/watchdog執行寫操作。即軟體、硬體watchdog對應用程式而言基本是透明的。 

3)另外

在任一時刻, 只能有一個watchdog驅動模塊被載入,管理/dev/watchdog 設備節點。如果系統沒有硬體watchdog電路,可以載入軟體watchdog驅動softdog.ko。

 

四、測試

http://sunnyshineboy.blog.163.com/blog/static/2028151182012539552151/

 

五、源碼

http://www.oschina.net/news/8002/linux-watchdog-5.8-released

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. Linux中所以內容以文件形式保存,包括硬體,所以在用命令行配置文件時,該配置僅僅是臨時生效。 2. Linux不靠擴展名區分類型,而是靠文件許可權。之所以有擴展名是為了便於管理。 .rpm二進位軟體包 .html .php網頁文件 .sh腳本文件 .conf配置文件 3. Linux所有存儲設... ...
  • 最近心血來潮,想學Linux,所以根據網上的建議,買了鳥哥的書。為了以後學習方便,準備安裝CentOS7。準備好鏡像文件和U盤後,4號晚上八點多開始施工,本以為幾個小時就可以弄好的東西,第一次讓我明白了什麼叫理想與現實的差距。鑒於CentOS7安裝的繁瑣程度和鳥哥的火熱程度,我決定把我安裝的全過程寫 ...
  • 虛擬機的安裝0Snapshot和clone 系統分區(由硬碟的性能所限制的) 1分區類型: 主分區:最多有4個 擴展分區:最多只能有1個;主分區加擴展分區最多有4個;不能寫入數據,只能包含邏輯分區,不能格式化。 邏輯分區: 2格式化(目的:在硬碟當中寫入文件系統) 格式化(高級格式化)又稱邏輯格式化... ...
  • Linux實現中斷處理 內核是怎麼知道應用程式要調用系統調用的呢?或者說應用程式怎麼通知系統內核自己需要執行一個系統調用,這是通過軟中斷實現的,通過引發一個異常來促使系統切換到內核態去執行異常處理程式 PS:什麼時候會從用戶態切換到內核態呢?1.中斷;2.陷阱;3.系統調用 中斷分為兩種,硬中斷和軟 ...
  • 在電腦網路普及的初期,很多OS系統都使用的為單網卡方式,即一個網卡使用一個IP地址。隨著網路要求的不斷提高,我們可以對多個網卡進行綁定聚合當一個邏輯網路介面來使用,從而大幅提升伺服器的網路吞吐(I/O),同時也可以根據不同的場景和需求來設置其綁定模式。本文簡要描述一下其配置過程。 1. 編輯ifc ...
  • CentOS 之 Supervisor supervisor是一個Linux上用來管理程式後臺運行的工具,支持程式的自啟動,掛掉重啟,日誌等功能。可配置程式隨系統啟動,並支持掛掉重啟,增強程式穩定性。 本文檔針對CentOS,也是我搭環境記錄的筆記,其他系統可以參考最下麵的參考資料。 安裝Super ...
  • linux下shell腳本把編程基礎,shell腳本是linux一個用戶和系統間介面的程式,它允許用戶向操作系統輸入需要執行的命令。 ...
  • 防火牆命令 service iptables stop --停止 service iptables start --啟動文件 /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Ma ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...