Linux內(nèi)核熱補丁可以修復(fù)正在運行的linux內(nèi)核,是一種維持線上穩(wěn)定性不可缺少的措施,現(xiàn)在比較常見的比如kpatch和livepatch。內(nèi)核熱補丁可以修復(fù)內(nèi)核中正在運行的函數(shù),用已修復(fù)的函數(shù)替換掉內(nèi)核中存在問題的函數(shù)從而達到修復(fù)目的。函數(shù)替換的思想比較簡單,就是在執(zhí)行舊函數(shù)...
這篇文章想分享Top99超時排查的思路和在工作中主動向身邊的同事學(xué)習(xí)的一種意識背景介紹我們的系統(tǒng)Top90穩(wěn)定在19ms左右,Top99穩(wěn)定在46ms左右,Top999穩(wěn)定在50ms左右,監(jiān)控報警主要用的PrometheusGrafana自研報警平臺報警晚上和小伙伴們出去吃飯了,...
因為圖片比較大,微信公眾號上壓縮的比較厲害,所以很多細節(jié)都看不清了,我單獨傳了一份到github上,想要原版圖片的,可以點擊下方的閱讀原文,或者直接使用下面的鏈接,來訪問github:https://github.com/wangyuntao/linux-kernel-illus...
文件系統(tǒng)本文繼續(xù)來看的文件系統(tǒng)部分,將文件系統(tǒng)的設(shè)計分為7層:磁盤緩存區(qū)日志目錄路徑文件系統(tǒng)調(diào)用,磁盤、緩存區(qū)、日志三個部分在前文已經(jīng)說了,本文接著講述,目錄,路徑三個層次。這部分的理論知識可以參考文章:捋一捋文件系統(tǒng)。本文直接來看xv6的文件系統(tǒng)這部分是如何實現(xiàn)的。文件系統(tǒng)布局再來系統(tǒng)的看看xv6文件系統(tǒng)的布局圖:這個圖與文檔給出的布局圖有些不一樣,主要是日志區(qū)的位置變化了。文檔給出的布局圖日志區(qū)位于文件系統(tǒng)的末尾,但是根據(jù)源碼來看日志區(qū)應(yīng)該是位于超級塊后面的。前文直接用的文檔中的圖,應(yīng)該是有誤的,實在抱歉。我看了幾個版本的源碼和文檔,源碼是日志區(qū)都是安排在超級塊后面,而文檔的布局圖描述的是...
首先祝大家中秋節(jié)快樂,闔家歡樂,節(jié)日之余記得學(xué)習(xí)喲!Linux中有后備文件支持的頁稱為文件頁,如屬于進程的代碼段、數(shù)據(jù)段的頁,內(nèi)存回收的時候這些頁面只需要做臟頁的同步即可(干凈的頁面可以直接丟棄掉)。反之為匿名頁,如進程的堆棧使用的頁,內(nèi)存回收的時候這些頁面不能簡單的丟棄掉,需要交換到交換分區(qū)或交換文件。本文中,主要分析匿名頁的訪問將發(fā)生哪些可能顛覆我們認(rèn)知的"化學(xué)反應(yīng)"。1.實例代碼首先以一個簡單的示例代碼來說明:#include?#include?#include?#include?#include?#define?MAP_SIZE?(100?*?1024?*?1024)int?main(...
近日,開源物聯(lián)網(wǎng)數(shù)據(jù)基礎(chǔ)設(shè)施軟件供應(yīng)商杭州映云科技有限公司(EMQ映云科技)與物聯(lián)網(wǎng)操作系統(tǒng)廠商上海睿賽德電子科技有限公司(RT-Thread)簽署技術(shù)戰(zhàn)略合作協(xié)議,雙方將結(jié)合各自技術(shù)優(yōu)勢,面向開發(fā)者和企業(yè)用戶在ICT、電力能源、?金融支付、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)領(lǐng)域推出多個合作方案,共建全球化的物聯(lián)網(wǎng)軟件生態(tài)。EMQ映云科技是一家開源物聯(lián)網(wǎng)數(shù)據(jù)基礎(chǔ)設(shè)施軟件供應(yīng)商,交付全球領(lǐng)先的開源MQTT消息服務(wù)器和流處理數(shù)據(jù)庫,提供基于云原生邊緣計算技術(shù)的一站式解決方案,實現(xiàn)企業(yè)云邊端實時數(shù)據(jù)連接、移動、處理與分析。作為目前全球物聯(lián)網(wǎng)市場廣泛應(yīng)用的MQTT消息服務(wù)器,EMQ映云科技的核心產(chǎn)品EMQX具備高并發(fā)...
在Linux系統(tǒng)中作為一個普通線程是非常苦逼的。不僅NMI、硬中斷、軟中斷可以打斷它,甚至其它普通線程也可以來打斷干擾到它的運行。如果沒有這些打斷事件,一個普通線程執(zhí)行while循環(huán),可以high過天際。這些打斷事件對一個普通線程來說,就相當(dāng)于噪音一樣的存在。從Linux5.14...
畢昇JDK82021年第一個重要版本8u282已在2021.3.30日發(fā)布,請參考?2021年畢昇JDK8、JDK11第一個重要發(fā)布來了!,其中KAEProvider作為新特性為用戶提供了一種利用鯤鵬硬件來進行加解密的加密實現(xiàn),為了使用戶更好的理解其實現(xiàn)細節(jié)和使用該特性,本文對K...
因為圖片比較大,微信公眾號上壓縮的比較厲害,所以很多細節(jié)都看不清了,我單獨傳了一份到github上,想要原版圖片的,可以點擊下方的閱讀原文,或者直接使用下面的鏈接,來訪問github:https://github.com/wangyuntao/linux-kernel-illus...
日志本文來聊聊文件系統(tǒng)中的日志系統(tǒng),來看一個簡單的日志系統(tǒng)是如何實現(xiàn)的。本文是接著前面的xv6系列,用到的一些前導(dǎo)知識不再說明,沒看的可以先看一下。文件系統(tǒng)設(shè)計中通常要考慮錯誤恢復(fù),這是因為文件系統(tǒng)會涉及對磁盤的多次寫操作,如果在寫的過程中系統(tǒng)崩潰了,就會使得磁盤上的文件系統(tǒng)處于...
一個最典型的要使用pu_relax()鎖的場景是忙等待(也就是死循環(huán)等一個事情的發(fā)生),在內(nèi)核里面有大量的代碼,比如等寄存器狀態(tài):比如做延遲:簡單來說,你如果在內(nèi)核里面寫了忙等待的代碼,都沒有在循環(huán)里面加個cpu_relax()的話,這基本上是一種比較幼稚的表現(xiàn)。根據(jù)內(nèi)核文檔vo...
跟蹤診斷技術(shù)SIG致力于為操作系統(tǒng)生態(tài)提供系統(tǒng)性,工具化,并以數(shù)據(jù)為支撐的發(fā)現(xiàn)、跟蹤和診斷問題的能力。SIG目標(biāo):為龍蜥社區(qū)(OpenAnolis)開源操作系統(tǒng),提供一個全棧覆蓋內(nèi)核與核心組件的跟蹤和診斷工具,增強龍蜥社區(qū)(OpenAnolis)全棧的可觀察性和可靠性。歡迎更多開...