(1)首先是對(duì)Linux啟動(dòng)過(guò)程的跟蹤和分析,生成詳細(xì)的啟動(dòng)時(shí)間報(bào)告。
本文引用地址:http://www.eepw.com.cn/article/150727.htm較為簡(jiǎn)單可行的方式是通過(guò)PrintkTime功能為啟動(dòng)過(guò)程的所有內(nèi)核信息增加時(shí)間戳,便于匯總分析。PrintkTime最早為CELF所提供的一個(gè)內(nèi)核補(bǔ)丁,在后來(lái)的Kernel 2.6.11版本中正式納入標(biāo)準(zhǔn)內(nèi)核。所以大家可能在新版本的內(nèi)核中直接啟用該功能。如果你的Linux內(nèi)核因?yàn)槟承┰虿荒芨聻?.6.11之后的版本,那么可以參考CELF提供的方法修改或直接下載它們提供的補(bǔ)丁:http://tree.celinuxforum.org/CelfPubWiki/PrintkTimes
開(kāi)啟PrintkTime功能的方法很簡(jiǎn)單,只需在內(nèi)核啟動(dòng)參數(shù)中增加“time”即可。當(dāng)然,你也可以選擇在編譯內(nèi)核時(shí)直接指定“Kernel hacking”中的“Show timing information on printks”來(lái)強(qiáng)制每次啟動(dòng)均為內(nèi)核信息增加時(shí)間戳。這一種方式還有另一個(gè)好處:你可以得到內(nèi)核在解析啟動(dòng)參數(shù)前所有信息的時(shí)間。因此,我選擇后一種方式。
當(dāng)完成上述配置后,重新啟動(dòng)Linux,然后通過(guò)以下命令將內(nèi)核啟動(dòng)信息輸出到文件:
dmesg -s 131072 > ktime
然后利用一個(gè)腳本“show_delta”(位于Linux源碼的scripts文件夾下)將上述輸出的文件轉(zhuǎn)換為時(shí)間增量顯示格式:
/usr/src/linux-x.xx.xx/scripts/show_delta ktime > dtime
這樣,你就得到了一份關(guān)于Linux啟動(dòng)時(shí)間消耗的詳細(xì)報(bào)告。
(2)然后,我們就來(lái)通過(guò)這份報(bào)告,找出啟動(dòng)中相對(duì)耗時(shí)的過(guò)程。
必須明確一點(diǎn):報(bào)告中的時(shí)間增量和內(nèi)核信息之間沒(méi)有必然的對(duì)應(yīng)關(guān)系,真正的時(shí)間消耗必須從內(nèi)核源碼入手分析。
這一點(diǎn)對(duì)于稍微熟悉編程的朋友來(lái)說(shuō)都不難理解,因?yàn)闀r(shí)間增量只是兩次調(diào)用printk之間的時(shí)間差值。通常來(lái)說(shuō),內(nèi)核啟動(dòng)過(guò)程中在完成一些耗時(shí)的任務(wù),如創(chuàng)建hash索引、probe硬件設(shè)備等操作后會(huì)通過(guò)printk將結(jié)果打印出來(lái),這種情況下,時(shí)間增量往往反映的是信息對(duì)應(yīng)過(guò)程的耗時(shí);但有些時(shí)候,內(nèi)核是在調(diào)用printk輸出信息后才開(kāi)始相應(yīng)的過(guò)程,那么報(bào)告中內(nèi)核信息相應(yīng)過(guò)程的時(shí)間消耗對(duì)應(yīng)的是其下一行的時(shí)間增量;還有一些時(shí)候,時(shí)間消耗在了兩次內(nèi)核信息輸出之間的某個(gè)不確定的時(shí)段,這樣時(shí)間增量可能就完全無(wú)法通過(guò)內(nèi)核信息反應(yīng)出來(lái)了。
所以,為了準(zhǔn)確判斷真正的時(shí)間消耗,我們需要結(jié)合內(nèi)核源碼進(jìn)行分析。必要的時(shí)候,例如上述第三種情形下,還得自己在源碼中插入printk打印,以進(jìn)一步確定實(shí)際的時(shí)間消耗過(guò)程。
網(wǎng)站首頁(yè) |網(wǎng)站簡(jiǎn)介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 www.ffpps.com All Rights Reserved.
中國(guó)網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書(shū)面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
欧美dancepartyhd| 国产激情精品一区二区三区| 撕开奶罩揉吮奶头玩大胸视频| gogogo日本免费观看视频| 主人野外羞耻调教贱奴| 亚洲日韩一区二区三区| 玩小雪跪趴把腿分到最大影视| 办公室美妇疯狂叫声浪吟| 无码国产精品一区二区高潮| 被猛男狂cao的小男生| 欧美一区二区三区久久综| 99久久国产露脸国语对白| 女人站着被舌头伺候| 国产三级做爰在线播放| 国产亚洲av片在线观看18女人| 蜜桃传媒果冻星空传媒视频| 少妇被粗大猛进进出出| 国精产品一区二区三区有限公司 | 亚洲综合欧美在线一区在线播放| 被调教的少妇雅芳1一19| 讲讲和对象第一次的细节知乎| 男男调教惩罚做到哭play| 色天天综合色天天久久婷婷 | 办公室秘书无码激情AV| 丰满少妇三级全黄| 欧美乱妇高清无乱码在线观看| GOGO少妇无码肉肉视频| 久久久久国色av免费观看性色| 特黄做受又粗又大又硬老头 | 无码av人妻精品一区二区三区抖音| 女性私密紧致按摩| 腿张大点就可以吃扇贝了| 久久五月色婷婷丁香六月综优物| 无码熟妇人妻AV在线影院| 亚洲乱码国产乱码精品精| 狠狠色噜噜狠狠狠狠色综合久| 性直播视频在线观看| 少妇我被躁爽到高潮a片| 亚洲日韩欧洲乱码av夜夜摸| 久久久久人妻一区二区三区VR| 亚洲精品成人无码中文毛片|