日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > Linux閱碼場
[導讀]作者/品文、肇燕編輯/?芹菜出品/?云巔論劍繼上一篇非典型程序員青囊搞定內存泄露問題后,美美地睡了一覺。睡夢中,突然金光閃閃,萬道光芒照進時光隧道,恍惚來到大唐神龍年間。青囊此時化身狄仁杰高級助理,陪同狄老大和元芳及千牛衛(wèi)來到案發(fā)現(xiàn)場,一番勘察后迅速鎖定真兇。雖整日伏于桌前寫代碼...


作者 / 品文、肇燕編輯 /? 芹菜
出品 /?云巔論劍

繼上一篇非典型程序員青囊搞定內存泄露問題后,美美地睡了一覺。睡夢中,突然金光閃閃,萬道光芒照進時光隧道,恍惚來到大唐神龍年間。青囊此時化身狄仁杰高級助理,陪同狄老大和元芳及千牛衛(wèi)來到案發(fā)現(xiàn)場,一番勘察后迅速鎖定真兇。雖整日伏于桌前寫代碼,但早被生活馴服得謹小慎微、擅于察言觀色的青囊亦早已悟透了這斷案的奧秘。只是,站在一旁的元芳眉頭緊鎖,面露難色......狄公上前問道:元芳,有心事?元芳起身答道:“大人斷案如神,只是像長安這種要案頻繁的地方,每次案發(fā),都要出動上百千牛衛(wèi)來大面積封鎖現(xiàn)場,走訪上萬群眾,耗費人力不說,還嚴重阻塞交通,影響了正常的生產秩序,導致其它業(yè)務部門受損,一直以來是怨聲載道啊。”狄公笑了笑,手指向青囊,“囊啊,給你元芳哥show一下”。青囊一陣馬屁之后,從袋中摸出一羅盤,得意道:“我這乾坤袋喚做sysAk,這羅盤叫minicoredump,以后如何封鎖現(xiàn)場,看它就清楚了”。元芳接過羅盤,順手擺弄了幾下,上面顯示要封鎖的現(xiàn)場縮小了不少,官道也暢通許多。元芳臉色憂轉喜,不禁問道:有此利器,鎖定現(xiàn)場無憂矣!只是它是怎么做到的,還請大人示教一下。狄公哈哈大笑:“不急,且聽我慢慢道來”。什么是coredump?coredump 顧名思義,就是核心轉儲。我們的程序在運行過程中,如果發(fā)生了異常退出,光靠程序自身log往往是很難定位問題根因的。操作系統(tǒng)提供了一套coredump機制,在異常發(fā)生的時候,將進程現(xiàn)場的vma信息存儲到core文件中去。利用這個文件,就能夠恢復異?,F(xiàn)場的信息,定位人員可以從中獲取到變量值、棧信息、內存數(shù)據(jù),程序異常時的運行位置(甚至記錄代碼行號)等等,提高問題定位效率。就像斷案最關鍵的步驟就是去獲取第一手信息,還原案發(fā)現(xiàn)場,在此基礎上進行案件推演。那么,coredump的流程是什么樣子的呢?如下圖所示,當進程發(fā)生故障的時候,內核就會啟動coredump機制將故障現(xiàn)場的vma等信息轉儲成core文件。故障過后,利用gdb加載coredump文件來還原故障現(xiàn)場。通過獲取故障現(xiàn)場變量值、調用棧等信息,可以快速確定故障類型,鎖定故障代碼位置,找到根因。就像狄公每次一次斷案,都要先鎖定發(fā)現(xiàn)場,然后親自勘查,提取所有物證和證言,結合現(xiàn)場信息推演,還原案發(fā)經過,最終鎖定作案元兇。coredump資源消耗問題操作系統(tǒng)在內核態(tài)生成core文件,是要將進程的有效vma信息全量dump出來。這就意味著大進程的coredump文件會非常龐大,甚至可以達到TB級別。這類大文件在生成和保存過程中嚴重消耗了IO、CPU、內存帶寬等資源,對系統(tǒng)的穩(wěn)定性帶來沖擊。就像之前要偵破一起大案,需要封鎖方圓數(shù)公里內交通,動用數(shù)百警力做大量的摸排走訪工作。但隨著技術手段革新,收集信息也更準確,摸排手段也越來越精細化。同樣的,coredump信息收集是否也能做到精細化?minicoredump登場“元芳啊,定位問題,就像咱們天天去斷案一樣,走訪的關鍵是要先收集到高價值的線索,比如棧空間、data、bss等。其它的匿名頁信息,像堆空間,里面的數(shù)據(jù)雖然很重要,但是對于斷案來說大多情況下用不到,屬于低線索信息。而在大進程的vma信息中,低線索信息占比還非常高。因此,我們要有選擇、有目標地收集。這個時候,就該minicoredump登場了,將現(xiàn)場信息先篩選一遍。工作量優(yōu)化了不說,對正常生產影響也可以降到最小。”青囊在一旁,欽佩地望著狄老大,默默地把minicoredump收錄到sysAK里。這里面不僅有內存泄漏定位秘籍,網絡診斷利器,如今還有minicoredump加持,還可以有效地過濾過濾匿名頁信息,對core文件進行瘦身,妙哉妙哉!舉個栗子如下表所示,這個是一個典型的案發(fā)現(xiàn)場信息分布。minicoredump會針對性地進行收集:標紅的區(qū)間需要收集起來,借助于gdb,就可以幫我們將案發(fā)過程回放(打調用棧)和關鍵物證提取(獲取棧上變量、全局變量等信息),而標綠的區(qū)域可以在必要的時候再收集,不影響我們斷案。103249: ? ./main
0000000000400000 ? ? ?4K r-x-- main0000000000600000 ? ? ?4K r---- main0000000000601000 ? ? ?4K rw--- main ? ?#可執(zhí)行文件的data段0000000001fa5000 ? ?132K rw--- ? [ anon ] ?#堆空間00007f8188000000 ?10372K rw--- ? [ anon ]00007f8188a21000 ?55164K ----- ? [ anon ]00007f8190000000 ?10372K rw--- ? [ anon ]……00007f819ca21000 ?55164K ----- ? [ anon ]00007f81a0000000 ?10372K rw--- ? [ anon ]00007f81a0a21000 ?55164K ----- ? [ anon ]00007f81a495d000 ? ? ?4K ----- ? [ anon ]00007f81a495e000 ? 8192K rw--- ? [ anon ] ?#棧空間00007f81a6dfe000 ?10244K rw--- ? [ anon ]00007f81a77ff000 ? ? ?4K ----- ? [ anon ]00007f81a7800000 ? 8192K rw--- ? [ anon ]00007f81a8000000 ?10372K rw--- ? [ anon ]00007f81a8a21000 ?55164K ----- ? [ anon ]00007f81ac15c000 ? ? ?4K ----- ? [ anon ]00007f81ac15d000 ? 8192K rw--- ? [ anon ]00007f81ac95d000 ? ? ?4K ----- ? [ anon ]00007f81ac95e000 ? 8192K rw--- ? [ anon ]……00007f81ae160000 ? ? ?4K ----- ? [ anon ]00007f81ae161000 ? 8192K rw--- ? [ anon ]00007f81ae961000 ? 1808K r-x-- libc-2.17.so00007f81aeb25000 ? 2044K ----- libc-2.17.so00007f81aed24000 ? ? 16K r---- libc-2.17.so00007f81aed28000 ? ? ?8K rw--- libc-2.17.so #so data段00007f81aed2a000 ? ? 20K rw--- ? [ anon ] ? #so BSS段00007f81aed2f000 ? ? 92K r-x-- libpthread-2.17.so00007f81aed46000 ? 2044K ----- libpthread-2.17.so00007f81aef45000 ? ? ?4K r---- libpthread-2.17.so00007f81aef46000 ? ? ?4K rw--- libpthread-2.17.so00007f81aef47000 ? ? 16K rw--- ? [ anon ]00007f81aef4b000 ? ?136K r-x-- ld-2.17.so00007f81af159000 ? ? 12K rw--- ? [ anon ] #so link map00007f81af169000 ? ? 12K rw--- ? [ anon ]00007f81af16c000 ? ? ?4K r---- ld-2.17.so00007f81af16d000 ? ? ?4K rw--- ld-2.17.so00007f81af16e000 ? ? ?4K rw--- ? [ anon ]00007fff7eafc000 ? ?132K rw--- ? [ stack ]00007fff7eb58000 ? ? ?8K r---- ? [ anon ]00007fff7eb5a000 ? ? ?8K r-x-- ? [ anon ]ffffffffff600000 ? ? ?4K r-x-- ? [ anon ] ?#syscalltotal ? ? ? ? ? 532892K
實際表現(xiàn)
該要拿真實數(shù)據(jù)說話:我們挑了一個真實的環(huán)境對比。同樣的進程coredump,文件大小從3.5G下降到了1.9G。coredump空間縮小后,不影響推棧等功能:在更為復雜的生產環(huán)境,實際優(yōu)化幅度可以達到80%以上,業(yè)務抖動下降了30%。換句話說,在引用了新技術以后,封鎖量減少,交通也就更順暢了。狄公問:元芳,此法可好?元芳連連點頭,嘖嘖稱贊:minicoredump神也神也,狄公了不得、了不得?。?/span>作為高級助理的青囊,站在一旁,用衣袖一遍一遍擦拭羅盤,心里也樂開了花。半年后,狄公和元芳一行在清理大理寺檔案庫房,眼前已然不是堆疊成山的卷宗。得益于變薄的新卷宗,還騰挪出了一方天地,品茶說案,心曠神怡。狄公戲問——在一旁的青囊正要開心,突然斥候送來一份搪報,狄公拆開看了,說道:官道上剛出了樁大案,影響甚大,我們要馬上出發(fā)。青囊一驚,從夢中醒來,尋思著:官道?難道是新出了網絡問題。欲知后事如何,且聽下回分解。(完)
參考內容

https://blog.csdn.net/zp31415929/article/details/77528903?ref=myread

https://www.cnblogs.com/lidabo/p/5014710.html

http://hutaow.com/blog/2013/10/25/linux-core-dump/

https://www.cnblogs.com/secondtonone1/p/5732938.html


往期精彩回顧1、AK47所向披靡,內存泄漏一網打盡2、夢里花落知多少,網絡抖動逃不了3、誰來拯救存量SGX1平臺?又一個內核特性合并的血淚史4、淺談國密算法在Linux內核文件完整性保護上的實踐


說明:本文為「云巔論劍」原創(chuàng)文章,頭圖攝影芹菜。轉載請遵守轉載要求,不允許修改內容,請務必保留作者和出處。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉