日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux pstore實(shí)現(xiàn)自動“抓捕”內(nèi)核崩潰日志

Linux閱碼場 ? 來源:Linuxer ? 2020-06-28 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者簡介

廖威雄,就職于珠海全志科技股份有限公司,負(fù)責(zé)Linux IO全棧研發(fā)、性能優(yōu)化、開源社區(qū)開發(fā)交流、Linux 內(nèi)核開源社區(qū)pstore/blk,mtdpstore模塊的作者、大客戶存儲技術(shù)支持、全志首個UBI存儲方案主導(dǎo)人、全志首個RTOS NFTL主導(dǎo)人

我設(shè)計的內(nèi)核模塊pstore/blk及其衍生的pstore/zone,mtdpstore終于在v5.8-rc1版本合入了torvalds/linux.git(見參考鏈接[1]),而且發(fā)現(xiàn)國內(nèi)外對pstore的介紹都好少好少,干脆來一波科普

簡介

pstore文件系統(tǒng)(是的,這是個文件系統(tǒng))是Persistent Storage的縮寫,最早在2010年由 Tony Luck 設(shè)計并合入Linux主分支,設(shè)計的初衷是在內(nèi)核Panic/Oops時能自動轉(zhuǎn)存內(nèi)核日志(log_buf),在Panic重啟后,把轉(zhuǎn)存的日志以文件形式呈現(xiàn)到用戶空間以分析內(nèi)核崩潰問題。

這對分析那種小概率且沒辦法抓到現(xiàn)場的問題非常實(shí)用,尤其是現(xiàn)在智能互聯(lián)網(wǎng)的設(shè)備逐漸普及的時候,遠(yuǎn)端的設(shè)備可以自己捕抓崩潰日志再通過網(wǎng)絡(luò)傳輸?shù)椒?wù)器,維護(hù)人員就可以根據(jù)收集來的日志定位和解決問題,然后通過OTA讓設(shè)備升級迭代。

根據(jù)網(wǎng)上搜尋的資料,在pstore文件系統(tǒng)之前其實(shí)有不少類似的實(shí)現(xiàn)。

apanic
Android最早的panic信息記錄的方案。在linux 2.6的安卓的內(nèi)核中找到,卻沒有提交到社區(qū),后來被放棄維護(hù)了。網(wǎng)上找不到放棄的原因,我自己猜測是因為其只適用于mtd nand,然而現(xiàn)在的Android基本用的都是emmc。apanic應(yīng)該是Android Panic的縮寫吧,可以實(shí)現(xiàn)在內(nèi)核崩潰時,把日志轉(zhuǎn)存到mtd nand。

ramoops
這里指的是最早的ramoops實(shí)現(xiàn),在最新代碼已經(jīng)整合入pstore中,以pstore/ram的后端形式存在。ramoops可以把日志轉(zhuǎn)存到重啟不掉電的ram中。這里對ram有一點(diǎn)要求,即使重啟ram的數(shù)據(jù)也不能丟失。

crashlog
這是openwrt提供的內(nèi)核patch,并沒有提交到內(nèi)核社區(qū)。它也是基于ram,只能轉(zhuǎn)存Panic/Oops的日志。

mtdoops
MTD子系統(tǒng)支持的功能,與pstore非常相似,只支持轉(zhuǎn)存Panic/Oops日志,不能以文件呈現(xiàn),需要用戶自行解析整個MTD分區(qū)。(因為功能的相似,我實(shí)現(xiàn)了mtdpstore用于替代mtdoops)

kdump
如果說pstore是個輕量級的內(nèi)核崩潰日志轉(zhuǎn)存的方案,kdump則是一個重量級的問題分析工具。在崩潰時,由kdump產(chǎn)生一個用于捕抓當(dāng)前信息的內(nèi)核,該內(nèi)核會收集內(nèi)存所有信息到dump core文件中。在重啟后,捕抓到的信息保存在特定的文件中。類似的還有netdump和diskdump。kdump的方案適用于服務(wù)器這種有大量資源的設(shè)備,功能也非常強(qiáng)大,但對嵌入式設(shè)備非常不友好。

pstore經(jīng)過長期迭代,除了轉(zhuǎn)存Panic/Oops的日志之外(dmesg前端),還支持pmsg、console和ftrace的前端,除了pstore/ram的后端之外,還有我設(shè)計的pstore/blk后端,除了支持轉(zhuǎn)存到ram之外,還有block device和mtd device。

pstore的前端,是指轉(zhuǎn)存的日志類型,pstore的后端,是指轉(zhuǎn)存到什么類型的設(shè)備。

目前支持以下幾個前端:

dmesg:主要是轉(zhuǎn)存Panic/Oops時log_buf里面的內(nèi)核日志

pmsg:提供給用戶空間存儲日志的入口,在Android里有看到被用于存儲系統(tǒng)的日志。

console:終端日志

ftrace:function trace的信息

目前支持以下幾種后端:

pstore/ram:Persistent Ram,重啟不會丟數(shù)據(jù)的內(nèi)存

pstore/blk:(v5.8以后的版本)所有可寫的塊設(shè)備,例如磁盤、U盤、emmc、NFTL nand等

mtd device:(v5.8以后的版本)mtd設(shè)備,例如 mtd nand。(mtd設(shè)備的支持依賴于 pstore/blk 后端,準(zhǔn)確來說不是一種獨(dú)立后端)

怎么用

就像把大象裝入冰箱只需要打開冰箱,把大象放進(jìn)去,關(guān)上冰箱門的3個步驟,使用pstore也只需要3個步驟:

使能pstore

掛載pstore文件系統(tǒng)

讀取轉(zhuǎn)存的日志文件

詳細(xì)的說明可以看源碼上的文檔,本文只做基本功能的介紹。

Documentation/admin-guide/ramoops.rst

Documentation/admin-guide/pstore-blk.rst

使能

在menuconfig中選擇內(nèi)核pstore模塊

$ make menuconfig |-> File systems |-> Miscellaneous filesystems |-> Persistent store support |-> Log kernel console messages # console 前端 |-> Log user space messages # pmsg 前端 |-> Persistent function tracer # ftrace 前端 |-> Log panic/oops to a RAM buffer # pstore/ram 后端 |-> Log panic/oops to a block device # pstore/blk 后端

上述兩個后端2選1即可,前端就根據(jù)自己的需求選擇,至于dmesg前端,默認(rèn)使能沒得選。如果希望用在mtd設(shè)備上,還需要選擇mtdpstore模塊:

$ make menuconfig |-> Device Drivers |-> Memory Technology Device (MTD) support |-> Log panic/oops to an MTD buffer based on pstore

選上就可以用了?雖然我非常想說“是的”,但事實(shí)卻有點(diǎn)“骨感”。即使所有前端都使用默認(rèn)配置,pstore/ram至少也需要知道可用的內(nèi)存范圍吧?pstore/blk至少也需要知道使用哪個塊設(shè)備吧?

pstore/ram支持 模塊參數(shù)(cmdline)、設(shè)備樹、和Platform Data的3種配置方式,從代碼來看,優(yōu)先級關(guān)系是:模塊參數(shù) > Platform Data > 設(shè)備樹。

pstore/blk支持Kconfig和 模塊參數(shù)(cmdline)的兩種配置方式,且模塊參數(shù)比Kconfig有更高的優(yōu)先級。

pstore/ram我接觸也不多,直接介紹pstore/blk的使用方法。對新同學(xué)來說,請忽略一大堆亂七八糟的屬性配置(使用默認(rèn)值),只需要告訴pstore/blk后端使用哪個塊設(shè)備即可。

在Kconfig中配置:

$ make menuconfig |-> File systems |-> Miscellaneous filesystems |-> Persistent store support |-> Log panic/oops to a block device # pstore/blk 后端|->() block device identifier #使用哪個塊設(shè)備?

如果使用cmdline,可以這么寫:

pstore_blk.blkdev=XXXX或者以模塊加載:

$sudoinsmodpstore_blk.koblkdev=XXX

這里的塊設(shè)備可以是代表整個磁盤的sda,也可以是代表某個分區(qū)的mmcblk0p4。雖然支持7種變體,但常用的還是兩種:

/dev/: 例如,使用U盤的第2個分區(qū),則是/dev/sdb2

::例如,mmc設(shè)備第6個分區(qū),則是179:6

形式大概是這樣:

$sudoinsmodpstore_blk.koblkdev=/dev/sdb2或者

$ cat /proc/cmdline.... pstore_blk.blkdev=179:6 ...

如果是mtd設(shè)備,可以直接指定mtd分區(qū)名或者編號,例如:

pstore_blk.blkdev=pstore#假設(shè)存在名為pstore的MTD分區(qū)

OK,對新同學(xué)來說,到這里配置就夠了??梢詮奈业膅ithub(見參考鏈接[2])上看到我之前是怎么測試的。如果需要知道每個配置項的作用,還是看內(nèi)核文檔吧(ramoops.rst 或 pstore_blk.rst),或者在Kconfig中按h顯示相關(guān)配置項的說明。

掛載

在使能且正確配置設(shè)備后,啟動的時候應(yīng)該會有這樣的日志:

pstore_zone: registered pstore_blk as backend for kmsg(Oops,panic_write)pstore: Registered pstore_blk as persistent store backend

這代表pstore找到了設(shè)備且正常注冊。接下來,我們還需要通過掛載的形式觸發(fā)pstore從設(shè)備讀取數(shù)據(jù)。常見的掛載是這樣的:

mount-tpstorepstore/sys/fs/pstore掛載后,通過mount能看到類似這樣的信息:

# mount...pstore on /sys/fs/pstore type pstore (rw,relatime)...

如果曾經(jīng)觸發(fā)過崩潰日志,在掛載點(diǎn)應(yīng)該有類似這樣的文件:

# ll /sys/fs/pstore...-r--r--r-- 1 root root 15521 Jan 1 00:06 dmesg-pstore_blk-0...

如果需要驗證,咱們可以這樣主動觸發(fā)內(nèi)核崩潰:

#echoc>/proc/sysrq-trigger

我是在U盤、SD卡、mmc、nand上驗證的,maintainer Kees Cook 提供了另外一種基于loop的驗證方法,實(shí)現(xiàn)用文件模擬塊設(shè)備。當(dāng)然這方法不適用于轉(zhuǎn)存Panic日志,只能用于Oops或者其他前端:

# insmod pstore.ko compress=off# insmod pstore_zone.ko# truncate pstore-blk.raw --size 100M# losetup -f --show pstore-blk.raw/dev/loop0# insmod pstore_blk.ko blkdev=/dev/loop0 kmsg_size=16 console_size=64 best_effort=on

讀取

經(jīng)過上述的掛載后,可以在掛載點(diǎn)看到轉(zhuǎn)存的日志文件。既然是文件,肯定支持文件的一系列操作,例如讀取、刪除。

root@TinaLinux:/sys/fs/pstore# head -n 10 dmesg-pstore_blk-1Oops: Total 2 timesOops#1 Part1<6>[ 2.743794] Bluetooth: RFCOMM socket layer initialized<6>[ 2.743813] Bluetooth: RFCOMM ver 1.11<6>[ 2.743822] 8021q: 802.1Q VLAN Support v1.8<3>[ 2.751766] reg-virt-consumer reg-virt-consumer.1: Failed to obtain supply 'drivevbus': -517<3>[ 2.752330] reg-virt-consumer reg-virt-consumer.1: Failed to obtain supply 'drivevbus': -517<5>[ 2.752742] ubi0: attaching mtd4<5>[ 2.890302] random: crng init done<5>[ 2.965927] ubi0: scanning is finished root@TinaLinux:/sys/fs/pstore# lldrwxr-x--- 2 root root 0 Jan 1 00:11 .drwxr-xr-x 5 root root 0 Jan 1 00:11 ..-r--r--r-- 1 root root 15521 Jan 1 00:06 dmesg-pstore_blk-0-r--r--r-- 1 root root 15128 Jan 1 00:11 dmesg-pstore_blk-1 root@TinaLinux:/sys/fs/pstore# rm dmesg-pstore_blk-1 root@TinaLinux:/sys/fs/pstore# lldrwxr-x--- 2 root root 0 Jan 1 00:13 .drwxr-xr-x 5 root root 0 Jan 1 00:11 ..-r--r--r-- 1 root root 15521 Jan 1 00:06 dmesg-pstore_blk-0

對dmesg前端的Panic/Oops日志,pstore會自動添加兩行統(tǒng)計信息。例如:

Oops: Total 2 times # 表示觸發(fā)了Oops,且是自系統(tǒng)安裝后第一次啟動以來第2次觸發(fā)Oops。Oops#1 Part1 # 表示這是上一次運(yùn)行期間第1次觸發(fā)Oops的日志。

可以發(fā)現(xiàn),第一行是累計總的觸發(fā)次數(shù),第二行是上一次啟動觸發(fā)的次數(shù)。

每個文件名的格式都是<前端名>-<后端名>-,例如dmesg-pstore_blk-1表示dmesg前端,pstore_blk后端以及是dmesg前端的第1個zone的日志。

當(dāng)然,除了dmesg前端外,其他前端的名字大概是這樣的:

# ll-r--r--r-- 1 root root 31 1月 15 11:53 console-pstore-blk-0-r--r--r-- 1 root root 3666 1月 15 11:53 demsg-pstore-blk-0-r--r--r-- 1 root root 65524 1月 15 11:53 ftrace-pstore-blk-0-r--r--r-- 1 root root 9 1月 15 11:53 pmsg-pstore-blk-0

除此之外,每個文件的時間戳表示崩潰觸發(fā)的時間。上例中,由于系統(tǒng)并沒有實(shí)現(xiàn)同步更新系統(tǒng)時間,所以時間戳不合理。

展望未來

正如我前文說的,pstore在物聯(lián)網(wǎng)設(shè)備逐漸普及的現(xiàn)在,能發(fā)揮很大的作用,例如智能音箱和掃地機(jī)已經(jīng)用起來了。

全功能支持

到目前為止,不管是塊設(shè)備還是mtd設(shè)備,社區(qū)的代碼都沒能做到pstore的全部前端的支持。

設(shè)備 dmesg(Oops) dmesg(Panic) pmsg console ftrace
塊設(shè)備 Y N Y Y Y
MTD設(shè)備 Y Y N N N
ram設(shè)備 Y Y Y Y Y

塊設(shè)備如果需要記錄Panic日志,需要提供一個在Panic時寫塊設(shè)備的接口。我在全志的mmc和nand驅(qū)動中實(shí)現(xiàn)了這樣的接口,卻因為種種原因不適合提交到社區(qū)。社區(qū)塊驅(qū)動的適配寄希望于更多同學(xué)的努力了。

MTD設(shè)備很早前就有了panic_write()的定義,因此可以支持Panic日志轉(zhuǎn)存。不支持其他前端,則是因為其擦寫的物理特性。對pmsg,console,ftrace等這些不能頁對齊寫入的前端,還需要更多的適配工作。

遷移pstore/ram

在當(dāng)前pstore的目錄結(jié)構(gòu)是這樣的:

$ tree fs/pstorefs/pstore/├── blk.c # pstore/blk 后端的實(shí)現(xiàn)├── ftrace.c # ftrace 前端的實(shí)現(xiàn)├── inode.c # pstore 文件系統(tǒng)的注冊與操作├── internal.h├── Kconfig├── Makefile├── platform.c # pstore 前后端功能的核心├── pmsg.c # pmsg 前端的實(shí)現(xiàn)├── ram.c # pstore/ram 后端的實(shí)現(xiàn)├── ram_core.c # pstore/ram 后端的實(shí)現(xiàn)└── zone.c # pstore/zone 實(shí)現(xiàn)存儲空間的分配和管理

在我的補(bǔ)丁之前,只支持轉(zhuǎn)存日志到ram,因此如果研讀代碼,我們會發(fā)現(xiàn)ram.c和ram_core.c實(shí)現(xiàn)了兩部分功能:

dram空間分配與管理

dram的讀寫操作

我實(shí)現(xiàn)的blk.c支持了轉(zhuǎn)存到塊設(shè)備。但是后來發(fā)現(xiàn)不管pstore/ram還是pstore/blk,他們對于存儲空間的分配和管理極度相似,我就提煉出了pstore/zone。于是乎,期望的代碼層次應(yīng)該是這樣的:

pstore/ram要整合入pstore/zone已經(jīng)與maintainer達(dá)成共識,但還需要更多同學(xué)一同努力做更多兼容,例如ecc的支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    4

    文章

    1476

    瀏覽量

    43099
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11822

    瀏覽量

    219602

原文標(biāo)題:Linux pstore 實(shí)現(xiàn)自動“抓捕”內(nèi)核崩潰日志

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    LX2160添加 pstore 功能來調(diào)試內(nèi)核遇到的問題求解

    我嘗試添加 pstore 功能來調(diào)試內(nèi)核 啟用以下內(nèi)核配置: config_pstore=y config_pstore_console=y
    發(fā)表于 04-16 09:35

    如何理解Linux內(nèi)核中的PCIe驅(qū)動

    我們習(xí)慣了用 Verilog 去死磕 PCIe 的底層協(xié)議狀態(tài)機(jī)。但一旦越過硬件邊界來到操作系統(tǒng)層面,Linux 內(nèi)核是如何接管并驅(qū)動這些 PCI/PCIe 設(shè)備的呢?由于不同的 CPU 架構(gòu)實(shí)現(xiàn)
    的頭像 發(fā)表于 04-11 17:22 ?1290次閱讀

    Linux內(nèi)核無法恢復(fù)怎么處理?

    日志消息打印到 UART inresume_bl31會導(dǎo)致 Linux 內(nèi)核無法恢復(fù)。 static void resume_bl31(struct s32g_ssram_mailbox
    發(fā)表于 03-16 06:02

    Linux內(nèi)核驅(qū)動開發(fā)的技術(shù)核心精要

    ;initcall_debug用于啟動優(yōu)化;kgdb支持源碼級調(diào)試;動態(tài)調(diào)試(dynamic debug)靈活開啟日志。內(nèi)核移植新板時需實(shí)現(xiàn)時鐘樹、中斷控制器、GPIO、早期串口等基礎(chǔ)支撐,并正確編寫設(shè)備樹,最終使能
    發(fā)表于 03-10 13:56

    實(shí)戰(zhàn)排障|RK平臺啟動卡死、SPL崩潰,兩行日志直接定位DDR硬件死穴!

    在嵌入式Linux產(chǎn)品開發(fā)中,U-Boot SPL啟動崩潰、主板不上電、啟動卡死在初始化階段是最讓人頭疼的硬故障之一。日志亂碼、CPU異常復(fù)位、看不到完整啟動流程,往往讓軟件工程師誤以為是代碼BUG,硬件工程師無從下手。
    的頭像 發(fā)表于 02-24 15:22 ?1157次閱讀
    實(shí)戰(zhàn)排障|RK平臺啟動卡死、SPL<b class='flag-5'>崩潰</b>,兩行<b class='flag-5'>日志</b>直接定位DDR硬件死穴!

    Linux內(nèi)核bug狩獵指南:從棧跟蹤到修復(fù),官方文檔教你搞定系統(tǒng)核心故障

    內(nèi)核Linux 系統(tǒng)的 “心臟”—— 一旦它出 bug,小則功能異常,大則系統(tǒng)崩潰、死機(jī)。但內(nèi)核 bug 往往藏在百萬行代碼中,想快速定位、修復(fù)絕非易事。
    的頭像 發(fā)表于 02-06 16:59 ?3350次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>bug狩獵指南:從棧跟蹤到修復(fù),官方文檔教你搞定系統(tǒng)核心故障

    拆解RK3568啟動日志:Debian12+Linux6.1下的調(diào)試密碼,初學(xué)者也能看懂

    在嵌入式開發(fā)中,啟動日志(Boot Log) 是硬件調(diào)試、驅(qū)動開發(fā)、系統(tǒng)優(yōu)化的“第一手資料”。尤其是基于瑞芯微 RK3568(四核 A55,主打邊緣計算、物聯(lián)網(wǎng)設(shè)備)的方案,搭配 Debian12 系統(tǒng)與 Linux6.1 內(nèi)核
    的頭像 發(fā)表于 02-06 16:52 ?3322次閱讀
    拆解RK3568啟動<b class='flag-5'>日志</b>:Debian12+<b class='flag-5'>Linux</b>6.1下的調(diào)試密碼,初學(xué)者也能看懂

    RK3588 PCIe?壓測:從崩潰到排障的全流程解析

    崩潰重啟。今天我們就結(jié)合關(guān)鍵日志和代碼,拆解問題根源,分享一套可復(fù)用的排障思路。 ? ? 一、問題現(xiàn)場:從日志崩潰鏈條 ? ? 我們先看兩張關(guān)鍵
    的頭像 發(fā)表于 02-06 07:11 ?583次閱讀
    RK3588 PCIe?壓測:從<b class='flag-5'>崩潰</b>到排障的全流程解析

    利用Last Log(Ramoops)排查系統(tǒng)問題:配置與實(shí)踐指南

    Linux 內(nèi)核的ramoops機(jī)制實(shí)現(xiàn))可在系統(tǒng)異常時保存核心日志,為事后故障分析提供關(guān)鍵依據(jù)。本文將詳細(xì)介紹其配置方法與問題排查實(shí)踐,并通過具體案例演示實(shí)戰(zhàn)流程。
    的頭像 發(fā)表于 02-05 13:54 ?529次閱讀
    利用Last Log(Ramoops)排查系統(tǒng)問題:配置與實(shí)踐指南

    深入Linux內(nèi)核:進(jìn)程調(diào)度的核心邏輯與實(shí)現(xiàn)細(xì)節(jié)

    ,背后都離不開內(nèi)核調(diào)度算法的精準(zhǔn)操控。今天,我們就從優(yōu)先級、調(diào)度算法、時間片分配到底層實(shí)現(xiàn),全方位拆解Linux內(nèi)核進(jìn)程調(diào)度的核心邏輯。 一、進(jìn)程調(diào)度的“身份標(biāo)識”:優(yōu)先級與分類 要理
    的頭像 發(fā)表于 12-24 07:05 ?4615次閱讀
    深入<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>:進(jìn)程調(diào)度的核心邏輯與<b class='flag-5'>實(shí)現(xiàn)</b>細(xì)節(jié)

    Linux內(nèi)核日志玩明白了嗎?printk調(diào)試神器全解析

    前言:做Linux驅(qū)動開發(fā)或內(nèi)核調(diào)試的朋友,一定對printk不陌生,但你真的會用它嗎?為什么同樣是調(diào)試RK3588內(nèi)核,別人能精準(zhǔn)捕捉關(guān)鍵錯誤,你卻被海量日志淹沒?今天就帶大家吃透p
    的頭像 發(fā)表于 12-19 08:32 ?1088次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>日志</b>玩明白了嗎?printk調(diào)試神器全解析

    基于 DR1M90 的 Linux-RT 內(nèi)核開發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用實(shí)現(xiàn)(1)

    本手冊由創(chuàng)龍科技研發(fā),針對 DR1M90,詳述 Linux-RT 實(shí)時內(nèi)核開發(fā):含實(shí)時性測試(LinuxLinux-RT 對比、CPU 空載 / 滿負(fù)荷 / 隔離狀態(tài)測試)、
    的頭像 發(fā)表于 12-02 10:38 ?1342次閱讀
    基于 DR1M90 的 <b class='flag-5'>Linux</b>-RT <b class='flag-5'>內(nèi)核</b>開發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用<b class='flag-5'>實(shí)現(xiàn)</b>(1)

    Linux內(nèi)核printk日志級別全解析:從參數(shù)解讀到實(shí)操配置

    一、開篇:一個命令引出的核心問題 在?Linux?終端執(zhí)行?cat /proc/sys/kernel/printk,你可能會看到這樣的輸出: 這串?dāng)?shù)字不是隨機(jī)的,而是內(nèi)核日志系統(tǒng)的“核心配置開關(guān)
    的頭像 發(fā)表于 11-20 15:54 ?2003次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>printk<b class='flag-5'>日志</b>級別全解析:從參數(shù)解讀到實(shí)操配置

    華納云服務(wù)器Linux系統(tǒng)日志集中化管理平臺搭建

    在云計算時代,企業(yè)運(yùn)維團(tuán)隊面臨服務(wù)器數(shù)量激增帶來的日志管理難題。本文詳細(xì)解析如何基于Linux系統(tǒng)構(gòu)建高效的云服務(wù)器日志集中化管理平臺,涵蓋日志采集、傳輸、存儲和分析全流程,幫助運(yùn)維人
    的頭像 發(fā)表于 09-12 14:11 ?606次閱讀

    如何避免存儲示波器再次崩潰?

    廠商官網(wǎng)更新日志,下載并安裝最新固件(如泰克示波器通過TekScope軟件在線升級)。 注意事項:升級前備份所有配置文件和波形數(shù)據(jù),避免因升級失敗導(dǎo)致數(shù)據(jù)丟失。 禁用非必要功能 示例:關(guān)閉示波器的自動
    發(fā)表于 05-23 14:47
    三门县| 措美县| 闻喜县| 右玉县| 吉水县| 苍梧县| 张家界市| 南丰县| 东宁县| 界首市| 衡南县| 西平县| 大荔县| 浦东新区| 乡宁县| 宣威市| 溧水县| 尚义县| 乌拉特后旗| 兴隆县| 清苑县| 平湖市| 鄂尔多斯市| 惠州市| 昔阳县| 长阳| 民权县| 尼木县| 岑溪市| 祥云县| 翼城县| 大田县| 隆林| 施甸县| 陆良县| 沙洋县| 兴化市| 凭祥市| 龙门县| 凤凰县| 阳江市|