Linux關機重啟二三事

、、

1概述

故障是高可用組最常接觸的場景,其中包含進程故障,網絡故障、系統故障,硬件故障。掉電關機和重啟作為其中最常見系統故障,具體的細節還是有些許差異的。本文將從操作系統與主板行為講解三者之間的聯系與區別。

2掉電

作為實際運維側最常見的異常場景,掉電的流程相對不那么復雜。當主板檢測到AC(電源失聯時會觸發ACPI的掉電事件此時主板會通知CPU將當前的計算盡可能完成,如果在一個時間窗口內無法完成的則直接拋棄,并CPU狀態為S5按照存儲速度由快到慢的順序(CPU——內存——硬盤但實際上基本上會直接切掉前兩個的電,因為很少有任務能夠在這個窗口期內完成切斷電源

接著主板進入G3狀態:即主板僅通過板載電池供電,該電池僅用作保證響應開關機按鈕事件、記錄時鐘信息(這個時鐘就是時間,操作系統的時間也是通過這個讀的)等操作。待下次啟動時,根據BIOS存儲的信息,決定進行“完整檢查”或者“快速檢查”,通常對于家用機而言,大部分執行的是快速檢查但對于服務器而言,進行的一般都是完整檢查因此對于服務器而言之所以掉電后啟動速度極慢,實際上是因為掉電后執行了一遍完整自檢根據個人經驗,一次完整自檢可能需要耗時10分鐘以上

這里比較特殊的盡管是按照這個順序去切斷電源,硬盤很可能因為存電不足而無法正常斷電,對于相對古老的機械硬盤而言最大的災難莫過于寫入時突然斷電導致磁頭沒有及時歸位,這會導致下次啟動時磁頭不能檢查自己是否處在正常狀態而磁盤造成不可逆的損傷。盡管當前現在的機械磁盤也做了短時存電的操作,但這個功能盡量不要用,尤其是對數據要求比較高的場景下。

3關機

關機的種類有很多,可以根據不同的形式進行劃分。

3.1保存進程關機

保存進程關機是我們日常生活中最常用的一種關機手段,執行該關機時系統會當前正在執行的進程通知系統即將關閉,當除了系統進程以外其他所有進程都完成了各自任務,系統會逐步結束自身進程,并向主板通知

該類關機執行通常是通過操作系統界面的關機按鈕提供相關功能,對于Linux而言其可以shutdown命令或者init 0簡單對應。

???????3.2保存系統關機

不保存進程關機通常是當系統大部分進程掛起無法正常執行保存進程關機的操作時才使用的一種關機手段該關機相比起不保存進程關機,除了不通知執行的進程以外,其他的區別不大。系統在執行該關機時,會直接結束其他進程,然后逐步結束自身進程,并主板通知。

該類關機執行通常沒有對應的圖形界面接口,對于Linux而言其可以與halt命令簡單對應。

???????3.3關機

關機通常是當系統進程掛起整個系統卡死無響應無法正常執行保存系統狀態關機的操作時才使用的一種關機手段該關機相比保存系統關機更加的粗暴在執行該關機時,會直接通知主板掉電,不保留任何操作系統或者用戶進程相關的內容。

該類關機執行通常沒有對應的圖形界面接口一般的長按關機鍵會觸發該類關機對于Linux而言其可以與poweroff命令簡單對應。

???????3.4關機之后

對于以上三類關機,主板收到通知后此時會進入G2狀態:即主板此時由AC供電,但不再拉起操作系統狀態。需要說明的:硬關機的表現是最接近G3關機從操作系統層面而言表現是一致的,都是系統進程被強制終結兩者由于喚醒時BIOS的狀態不同,因此不排除在這個過程中出現掉電導致的硬件損壞,因此兩者的實際表現可能仍有不同之處(尤其是硬盤)

4重啟

重啟是我們常用的一種操作,其具體的行為取決于相關的關機實現,但重啟與關機最大的不同在于,重啟不會通知主板關閉,主板仍舊會通過引導拉起操作系統

通常重啟應用于不需要重新初始化硬件場景下(比如部分硬件固件無法加載等,因為關機后再開機會重新初始化并加載相關的固件,但重啟不會重新初始化設備)。對于大多數帶有圖形界面的操作系統,其圖形界面下的重啟一般是保留進程重啟對于Linux的reboot命令一般是保留系統重啟。

5.題外話

實際上,對于當前的Linux,其shutdown、halt、poweroff、reboot命令已經合并成一個工具包了,內部執行時邏輯也有了雜糅。因此實際真正執行時,可能并不會按照文中的預期去嚴格區分,如果測試時需要測試硬關機可以考慮在poweroff的前提下加上參數-f。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72937.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72937.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72937.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法1--兩束求和

題目描述 解題思路 先說一種很容易想到的暴力解法 暴力解法的思路很簡單,就是遍歷數組,對于每一個元素,都去遍歷數組中剩下的元素,判斷是否有兩個元素的和等于目標值,如果有,就返回這兩個元素的下標。 c…

在Fedora-Workstation-Live-x86_64-41-1.4中使用最新版本firefox和騰訊翻譯插件讓英文網頁顯示中文翻譯

在Fedora-Workstation-Live-x86_64-41-1.4中使用最新版本firefox和騰訊翻譯插件讓英文網頁顯示中文翻譯 應用——系統工具——終端 suozhangfedora:~$ rpm -aq | grep firefox firefox-131.0.2-1.fc41.x86_64 firefox-langpacks-131.0.2-1.fc41.x86_64 fedora41系統自身安裝有f…

android 接入google 登錄

在 Android 應用中接入 Google 登錄功能,可讓用戶使用他們的 Google 賬號快速登錄應用。以下是詳細的接入步驟和示例代碼: 步驟 1:創建 Google API 項目 訪問 Google API 控制臺,并使用你的 Google 賬號登錄。點擊 “選擇項目”,然后點擊 “新建項目”,按照提示填寫項目…

Redis緩存與數據庫 數據一致性保障

為什么要保證數據一致性 只要使用redis做緩存,就必然存在緩存和DB數據一致性問題。若數據不一致,則業務應用從緩存讀取的數據就不是最新數據,可能導致嚴重錯誤。比如將商品的庫存緩存在Redis,若庫存數量不對,則下單時…

19.哈希表的實現

1.哈希的概念 哈希(hash)?稱散列,是?種組織數據的?式。從譯名來看,有散亂排列的意思。本質就是通過哈希函數把關鍵字Key跟存儲位置建??個映射關系,查找時通過這個哈希函數計算出Key存儲的位置,進?快速查找。 1.2.直接定址法…

IoTDB TTL不生效

問題 時序數據庫 IoTDB 1.3.0 版本數據庫的 TTL 設置為兩天,show databases details 看到設置也是正確的,怎么還是可以查到好幾天前的數據?因為有很多不活躍的測點,所以專門設置了兩天過期,有什么辦法可以自動清理呢&…

【C++基礎】Lambda 函數 基礎知識講解學習及難點解析

一、引入 在 C 中,我們通常使用函數來完成特定的功能。但有時候,我們需要在一個函數內部定義一個小型的功能塊,這時如果單獨寫一個函數會顯得繁瑣。C11 引入了 Lambda 函數,它是一種匿名函數,可以在需要的地方直接定義…

OpenCV 基礎模塊 Python 版

OpenCV 基礎模塊權威指南(Python 版) 一、模塊全景圖 plaintext OpenCV 架構 (v4.x) ├─ 核心層 │ ├─ core:基礎數據結構與操作(Mat/Scalar/Point) │ └─ imgproc:圖像處理流水線(濾…

iStoreOS軟路由對硬盤格式化分區(轉化ext4)

一、為什么要格式化分區? 格式化硬盤分區是軟路由安裝或配置過程中的重要步驟,主要用于清除舊數據、優化文件系統、確保系統穩定性和兼容性。 二、通過iStoreOS硬盤格式化步驟 使用場景:Docker遷移到外置移動硬盤為例,考慮兼容現…

打造用戶認證系統,構筑信息安全防線

在當今的數字化時代,信息安全和用戶隱私保護變得越來越重要。用戶身份認證是確保信息安全的第一道防線。通過驗證用戶身份,可以防止未經授權的訪問和數據泄露。它有助于保護用戶的個人信息、賬戶資金和其他敏感數據。此外,用戶身份認證還可以…

北京南文觀點:品牌如何搶占AI 認知的 “黃金節點“

在算法主導的信息洪流中,品牌正在經歷一場隱蔽的認知權爭奪戰,當用戶向ChatGPT咨詢"哪家新能源車企技術最可靠"時,AI調取的知識圖譜數據源將直接決定品牌認知排序。南文樂園科技文化(北京)有限公司&#xff…

音視頻系列——Websockets接口封裝為Http接口

模型服務示例:實時語音轉文本服務 本示例展示一個支持雙協議(WebSocket流式接口HTTP同步接口)的語音轉文本模型服務,并提供將WebSocket接口封裝為HTTP接口的代碼實現。 一、服務架構設計 #mermaid-svg-nw0dMZ4uKfS4vGZR {font-fa…

Axure項目實戰:智慧城市APP(一)(動態面板、拖動效果)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝! 課程主題:智慧城市APP便民服務平臺 主要內容:完整智慧APP原型設計 應用場景:各類政務型、B端APP均可參考 案例展示:&…

MySQL 入門大全:數據類型

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/literature?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,…

Java 記憶鏈表,LinkedList 的升級版

文章目錄 記憶鏈表 MemoryLinkedList實戰源代碼 眾所周知,ArrayList 和 LinkedList 是 Java 集合中兩個基本的數據結構,對應數據結構理論中的數組和鏈表。但在這兩個數據結構,開發者們通常使用 ArrayList,而不使用 LinkedList。JD…

《白帽子講 Web 安全》之開發語言安全深度解讀

目錄 引言 1.PHP 安全 1.1變量覆蓋 1.2空字節問題 1.3弱類型 1.4反序列化 1.5安全配置 2Java 安全 2.1Security Manager 2.2反射 2.3反序列化 3Python 安全 3.1反序列化 3.2代碼保護 4.JavaScript 安全 4.1第三方 JavaScript 資源 4.2JavaScript 框架 5.Node.…

鴻蒙HarmonyOS NEXT應用崩潰分析及修復

鴻蒙HarmonyOS NEXT應用崩潰分析及修復 如何保證應用的健壯性,其中一個指標就是看崩潰率,如何降低崩潰率,就需要知道存在哪些崩潰,然后對癥下藥,解決崩潰。那么鴻蒙應用中存在哪些崩潰類型呢?又改如何解決…

分析K8S中Node狀態為`NotReady`問題

在Kubernetes(k8s)集群中,Node狀態為NotReady通常意味著節點上存在某些問題,下面為你分析正常情況下節點應運行的容器以及解決NotReady狀態的方法。 正常情況下Node節點應運行的容器 1. kubelet kubelet是節點上的核心組件&…

第六屆機電一體化技術與智能制造國際學術會議(ICMTIM 2025)

重要信息 4月11-13日 南京江北新區工業大學亞朵酒店 www.icmtim.org(點擊了解參會投稿等) 簡介 由南京工業大學主辦,南京工業大學電氣工程與控制科學學院、中國礦業大學、黑龍江大學、江蘇省自動化學會承辦的第六屆機電一體化技術…

INT202 Complexity of Algroithms 算法的復雜度 Pt.2 Search Algorithm 搜索算法

文章目錄 1.樹的數據結構1.1 有序數據(Ordered Data)1.1.1 有序字典(Ordered Dictonary)1.1.1.1 排序表(Sorted Tables) 1.2 二分查找(Binary Search)1.2.1 二分查找的時間復雜度 1.3 二叉搜索樹&#xff0…