国产免费牲交视频无遮挡_偷偷鲁视频成人免费视频_中文无码 日韩精品_曰韩无码人妻中文字幕

其他新聞

其他新聞

柯林建站系統(tǒng)源碼(云建站系統(tǒng)源碼)

時間:2023-11-10 信途科技其他新聞

我們總是時不時的提起調(diào)試?,F(xiàn)在我們就好好看看這玩意兒。寬泛點說,調(diào)試就是在系統(tǒng)中發(fā)現(xiàn)和修復(fù)問題的行為,包括硬件和軟件。性能問題也認(rèn)為是bug,所以調(diào)試也包括性能調(diào)優(yōu),也就是尋求通過去除處理過程中的瓶頸來改善性能。接下來,我們會提到調(diào)試的過程、內(nèi)核錯誤以及性能問題。暫時不涉及硬件調(diào)試。

錯誤分析

如果一個進(jìn)程發(fā)生了錯誤,大多數(shù)的操作系統(tǒng)會把錯誤信息寫進(jìn)日志文件從來警告管理員或用戶有問題發(fā)生了。操作系統(tǒng)也會用core dump(核心轉(zhuǎn)儲),是進(jìn)程地址空間的內(nèi)容以及有關(guān)進(jìn)程狀態(tài)的其他信息寫出的一個磁盤文件,用來之后分析。運(yùn)行的程序和core dump可以通過調(diào)試器探測到,這可以讓程序員檢查代碼并且查看失敗時進(jìn)程地址空間到底發(fā)生了什么。

調(diào)試用戶級別的進(jìn)程代碼是一個挑戰(zhàn)。因為內(nèi)核的大小和復(fù)雜度,操作系統(tǒng)的內(nèi)核調(diào)試更是復(fù)雜,它既控制著硬件,有缺少用戶級別的調(diào)試工具。當(dāng)crash發(fā)生時,錯誤信息會被保存到日志文件中,內(nèi)存狀態(tài)信息會被保存到crash dump。

操作系統(tǒng)的調(diào)試和進(jìn)程調(diào)試,因為這兩個任務(wù)天生的不同而通常使用不同的工具和技術(shù)??紤]到文件系統(tǒng)代碼中的內(nèi)核故障會導(dǎo)致內(nèi)核在重啟之前嘗試將其狀態(tài)保存到下文件系統(tǒng)上的文件中的風(fēng)險,一種常見的技術(shù)是將內(nèi)核的內(nèi)存狀態(tài)保存到為此保留的一部分磁盤中,該部分不包含文件系統(tǒng)。如果內(nèi)存檢測到不可回復(fù)的錯誤,則會將內(nèi)存的全部內(nèi)容,或至少是系統(tǒng)內(nèi)存中內(nèi)核擁有的部分,寫入該磁盤區(qū)域。當(dāng)系統(tǒng)重啟時,將運(yùn)行一個進(jìn)程從該區(qū)域收集數(shù)據(jù)并將其寫入文件系統(tǒng)中的crash dump文件中以進(jìn)行分析。顯然,這樣的策略對于調(diào)試普通的用戶進(jìn)程是沒有必要的。

性能監(jiān)測和調(diào)優(yōu)

我們之前性能調(diào)優(yōu)就是提過通過去除處理過程中瓶頸來尋求改善性能。為了識別瓶頸,我們必須能夠監(jiān)測系統(tǒng)性能呢個。因此,操作系統(tǒng)必須有一些方式用來計算和展示系統(tǒng)的行為。根據(jù)是按每個進(jìn)程或整個系統(tǒng)的觀測角度的不同,每個工具都有自己的特征。為了達(dá)成這些觀測,工具會使用這兩個方法中的一個 --- counters計數(shù)或追蹤tracing。下面,我們會探究一下這倆玩意兒。

計數(shù)器

操作系統(tǒng)通過一系列的計數(shù)器保持對系統(tǒng)行為的追蹤,比如系統(tǒng)調(diào)用的次數(shù)或是對網(wǎng)絡(luò)設(shè)備或磁盤的操作次數(shù)。下面是Liunx用作計數(shù)器的工具:

進(jìn)城級ps - 報告對單個或選中進(jìn)程的信息top - 報告當(dāng)前進(jìn)程們的實時統(tǒng)計信息系統(tǒng)級vmstat - 報告內(nèi)存使用的統(tǒng)計netstat - 報告網(wǎng)絡(luò)接口門的統(tǒng)計信息iostat - 包括對磁盤的I/O使用情況

在Linux中大多數(shù)基于計數(shù)的工具都是從/proc文件系統(tǒng)里讀取統(tǒng)計信息的。/proc是一個假的文件系統(tǒng),它只存在于內(nèi)核的內(nèi)存中,并且主要被用來查尋各個進(jìn)程和內(nèi)核的統(tǒng)計信息。/ proc文件系統(tǒng)組織為目錄層次結(jié)構(gòu),每個進(jìn)程(分配給每個進(jìn)程的唯一整數(shù)值)顯示為/ proc下的子目錄。例如,目錄條目/ proc / 2155將包含ID為2155的進(jìn)程的每個進(jìn)程統(tǒng)計信息。/proc這也有各種條目,用于各種內(nèi)核統(tǒng)計信息,如下圖:

Unbuntu中也提供了一個系統(tǒng)監(jiān)測應(yīng)用,一個包含進(jìn)程進(jìn)程,系統(tǒng)資源,和文件系統(tǒng)信息的工具。截圖如下:

Ubuntu中的系統(tǒng)監(jiān)測工具

追蹤

盡管基于計數(shù)的工具只是簡單的查詢內(nèi)核維護(hù)的某些統(tǒng)計信息中的當(dāng)前值,但追蹤工具則收集一些特殊時間的數(shù)據(jù),諸如系統(tǒng)調(diào)用中包含的每一步。

下面是Linux中追蹤事件工具的示例:

進(jìn)程級strace - 追蹤單個進(jìn)程的系統(tǒng)調(diào)用gdb - 一個源代碼級的調(diào)試器系統(tǒng)級perf - Linux性能收集工具tcpdump - 采集網(wǎng)絡(luò)包

柯林漢定律 (Kernighan's Law)

調(diào)試在一開始就比編寫程序困難一倍。因此,按照定義,如果你的代碼寫得非常巧妙,那么你就沒有足夠的能力來調(diào)試它。

使操作系統(tǒng)在運(yùn)行時更易于理解,調(diào)試和調(diào)優(yōu)是研究和實踐的活躍領(lǐng)域。新一代支持內(nèi)核的性能分析工具在實現(xiàn)此目標(biāo)的方式上有了重大改進(jìn)。接下來,我們討論BCC,一個動態(tài)Linux內(nèi)核追蹤工具包。

BCC

如果沒有能夠理解兩組代碼并能夠檢測它們之間的交互作用的工具集,幾乎不可能調(diào)試用戶級代碼與內(nèi)核代碼之間的交互。為了使該工具集真正有用,它必須能夠調(diào)試系統(tǒng)的任何區(qū)域,包括未考慮調(diào)試的部分,并且在不影響系統(tǒng)可靠性的情況下進(jìn)行調(diào)試。該工具集還必須對性能產(chǎn)生最小的影響-理想情況下,它在不使用時不受影響,而在使用中的影響是不成比例。 BCC工具箱滿足了這些要求,并提供了動態(tài),安全,低影響的調(diào)試環(huán)境。

BBC(BPF Compiler Collection)是個豐富的工具包,用于提供對Linux系統(tǒng)的追蹤。BCC是e BPF(extended Berkeley Packet Filter,擴(kuò)展的Berkeley數(shù)據(jù)包過濾器)工具的前端接口。 BPF技術(shù)是在1990年代初開發(fā)的,用于過濾計算機(jī)網(wǎng)絡(luò)中的流量。 “extened擴(kuò)展的” BPF(e BPF)為BPF添加了各種功能。 BPF程序是用C的子集編寫的,并被編譯成e BPF指令,這些指令可以動態(tài)地插入正在運(yùn)行的Linux系統(tǒng)中。 e BPF指令可用于捕獲特定事件(例如正在調(diào)用的某個系統(tǒng)調(diào)用)或監(jiān)視系統(tǒng)性能(例如執(zhí)行磁盤I / O所需的時間)。為了確保BPF指令的行為良好,在插入運(yùn)行Linux內(nèi)核之前,它們會通過verifier驗證者傳入。驗證者會進(jìn)行檢查以確保說明不會影響系統(tǒng)性能或安全性。

盡管e BPF為Linux內(nèi)核中的跟蹤提供了豐富的功能集,但是從傳統(tǒng)上來說,使用其C接口開發(fā)程序非常困難。開發(fā)BCC的目的是通過在Python中提供一個前端接口來簡化使用e BPF編寫工具的過程。 BCC工具是用Python編寫的,它嵌入了與e BPF工具接口的C代碼,后者又與內(nèi)核接口。 BCC工具還將C程序編譯為e BPF指令,并使用探測或?qū)⑵涓欬c插入內(nèi)核中,這是兩種允許在Linux內(nèi)核中跟蹤事件的技術(shù)。

編寫自定義BCC工具的細(xì)節(jié)不在討論范圍之內(nèi),但是BCC軟件包提供了許多現(xiàn)有工具,用于監(jiān)視正在運(yùn)行的Linux內(nèi)核中多個活動區(qū)域。

ubuntu下的安裝命令如下:

sudo apt-get install bpfcc-tools linux-headers-$(uname -r)

其他系統(tǒng)可參考https://github.com/iovisor/bcc/blob/master/INSTALL.md

使BCC特別強(qiáng)大的是,它的工具可以在運(yùn)行關(guān)鍵應(yīng)用程序的實時生產(chǎn)系統(tǒng)上使用,而不會對系統(tǒng)造成損害。這對于必須監(jiān)視系統(tǒng)性能以識別可能的瓶頸或安全漏洞的系統(tǒng)管理員特別有用。下圖說明了BCC和e BPF當(dāng)前提供的各種工具,以及它們跟蹤Linux操作系統(tǒng)的幾乎任何區(qū)域的能力。 BCC是一種快速變化的技術(shù),不斷地被添加新功能。

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由信途科技轉(zhuǎn)載于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系站長刪除。

轉(zhuǎn)載請注明出處http://macbookprostickers.com/xintu/20766.html

相關(guān)文章

網(wǎng)絡(luò)營銷失敗案例介紹,2021熱門網(wǎng)絡(luò)營銷失敗案例

01自媒體的興起,網(wǎng)民的追捧,很容易造就一場盛大的網(wǎng)絡(luò)狂歡投機(jī)者想要迅速地聲名鵲起,金銀滿缽,走捷徑,正一步步透支著“??梢哉f這一次典型互聯(lián)網(wǎng)思維方式的成功網(wǎng)絡(luò)營銷案例 有企業(yè)認(rèn)為企業(yè)在微博紅利期高峰...

免費(fèi)建站電話(可以免費(fèi)建站)

在前面我們介紹了非常受大家歡迎的Shopify建站平臺,盡管如此,Shopify仍存在一些缺點。發(fā)掘可替代Shopify來創(chuàng)建和管理你的在線商店是一個聰明的選擇,值得慶幸的是,有許多其他建站平臺都可以...

「敦煌關(guān)鍵詞網(wǎng)站優(yōu)化排名」敦煌網(wǎng)關(guān)鍵詞工具

本文目錄一覽: 1、如何快速有效的優(yōu)化網(wǎng)站關(guān)鍵詞排名 2、關(guān)鍵詞排名網(wǎng)站優(yōu)化的方法? 3、優(yōu)化網(wǎng)站關(guān)鍵詞排名 如何快速有效的優(yōu)化網(wǎng)站關(guān)鍵詞排名 想要提高網(wǎng)站關(guān)鍵詞排名,網(wǎng)站基礎(chǔ)優(yōu)化工作是要做...

網(wǎng)絡(luò)營銷的發(fā)展和前景怎么樣的簡單介紹

摘要隨著網(wǎng)絡(luò)的迅速發(fā)展,網(wǎng)絡(luò)營銷這一新型營銷模式也得到了快速的發(fā)展它以 并對我國網(wǎng)絡(luò)營銷的現(xiàn)狀和未來的發(fā)展趨勢進(jìn)行了分析 關(guān)鍵詞網(wǎng)絡(luò)營銷傳統(tǒng)營。時代的不斷發(fā)展,互聯(lián)網(wǎng)成為了社會的主流,各行業(yè)都感受到了...

網(wǎng)絡(luò)營銷渠道的主要功能,簡述網(wǎng)絡(luò)營銷系統(tǒng)的主要功能

網(wǎng)絡(luò)營銷渠道的功能包括A訂貨B結(jié)算C運(yùn)輸D配送E服務(wù) 它不受極端值的影響,缺點是具有不唯一性,主要作為分類數(shù)據(jù)的集中趨勢測度值 A 眾數(shù) B 均值 C 中位數(shù) D 眾位。關(guān)于關(guān)系營銷內(nèi)涵,正確的理解有...

app如何提高關(guān)鍵詞排名(關(guān)鍵詞檢索app)

知乎作為國內(nèi)首屈一指的中文問答社區(qū)app如何提高關(guān)鍵詞排名,每天都有著億萬網(wǎng)友孜孜不倦地求教app如何提高關(guān)鍵詞排名,解答。讓人們更加便捷地分享知識,傳授經(jīng)驗見解,發(fā)現(xiàn)更全面的世界??梢哉f,知乎是“天...

現(xiàn)在,非常期待與您的又一次邂逅

我們努力讓每一次邂逅總能超越期待

  • 效果付費(fèi)
    效果付費(fèi)

    先出效果再付費(fèi)

  • 極速交付
    極速交付

    響應(yīng)速度快,有效節(jié)省客戶時間

  • 1對1服務(wù)
    1對1服務(wù)

    專屬客服對接咨詢

  • 持續(xù)更新
    持續(xù)更新

    不斷升級維護(hù),更好服務(wù)用戶