亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 895 | 回復(fù): 0
打印 上一主題 下一主題

Linux系統(tǒng)內(nèi)核性能評測 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-11-11 19:53 |只看該作者 |倒序?yàn)g覽
Linux以其開放和自由的特性,日益受到人們的關(guān)注,并被廣泛應(yīng)用于科學(xué)計(jì)算、電子商務(wù)、并行運(yùn)算、輔助教學(xué)、大型
服務(wù)器

嵌入式
應(yīng)用和桌面辦公等不同的領(lǐng)域,為我國軟件產(chǎn)業(yè)的發(fā)展帶來了契機(jī)。研究Linux內(nèi)核的評測方法、評價(jià)工具和評測標(biāo)準(zhǔn),頗具意義和實(shí)用價(jià)值,有助于 Linux國產(chǎn)化發(fā)展,同時(shí)也是國家電子基金項(xiàng)目的重要組成部分。
    Linux內(nèi)核是Linux操作系統(tǒng)最核心的部分,其性能直接決定了操作系統(tǒng)的性能。
測試
內(nèi)核性能的方法是針對Linux內(nèi)核五大子系統(tǒng)(進(jìn)程調(diào)度子系統(tǒng)、內(nèi)存管理子系統(tǒng)、虛擬文件子系統(tǒng)、進(jìn)程通信子系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng))的自身特點(diǎn),測量出Linux內(nèi)核完成工作量負(fù)載的響應(yīng)時(shí)間、CPU時(shí)間和CPU利用率等參數(shù),作為衡量標(biāo)準(zhǔn)。
    Linux內(nèi)核
測試

    1.Linux測試項(xiàng)目(LTP)
    LTP(Linux test project)套件涵蓋了內(nèi)核的大多數(shù)接口,如系統(tǒng)調(diào)用、內(nèi)存、IPC、I/O、文件系統(tǒng)和網(wǎng)絡(luò)。這個(gè)項(xiàng)目收集了各種 Linux內(nèi)核測試工具和相關(guān)資料,當(dāng)前包括了超過 2900個(gè)測試用例。
    2.可擴(kuò)展性測試平臺(tái)(STP)
    開放源代碼開發(fā)實(shí)驗(yàn)室 (Open Source Development Labs,
OSDL)創(chuàng)建了可擴(kuò)展測試平臺(tái)(Scalable Test Platform,STP)系統(tǒng)。STP 是一個(gè)自動(dòng)化的測試平臺(tái),
STP可以構(gòu)建內(nèi)核、設(shè)置測試、運(yùn)行測試,并收集結(jié)果,然后進(jìn)行深入地比較。
    3.代碼覆蓋分析
    代碼覆蓋分析在一個(gè)給定的測試運(yùn)行時(shí),分析出內(nèi)核中哪些代碼行被執(zhí)行,提示內(nèi)核的哪些部分還沒有被測試到,并指出需要再編寫哪些新測試來測試內(nèi)核的相應(yīng)部分,以使可以得到更完備的測試。
    4.內(nèi)核回歸測試
    對Linux內(nèi)核執(zhí)行持續(xù)多日的回歸測試,創(chuàng)建實(shí)時(shí)的、集中的檔案庫,以隨時(shí)獲得 Linux內(nèi)核的快照,內(nèi)核發(fā)生改變,測試人員就可進(jìn)行測試。
    Linux內(nèi)核架構(gòu)
    Linux內(nèi)核主要由五大子系統(tǒng)組成:進(jìn)程調(diào)度子系統(tǒng)(Process Scheduler)、內(nèi)存管理子系統(tǒng)(Memory
Manager)、虛擬文件子系統(tǒng)(Virtual File System)、進(jìn)程通信子系統(tǒng)(Inter-Process
Communication)和網(wǎng)絡(luò)子系統(tǒng)(Network Interface),其中進(jìn)程調(diào)度子系統(tǒng)是
Linux操作系統(tǒng)的核心。這五大子系統(tǒng)彼此緊密協(xié)作,共同對用戶程序提供服務(wù),其系統(tǒng)架構(gòu)如下圖所示。

圖1. Linux內(nèi)核結(jié)構(gòu)

   
核心的子系統(tǒng)是進(jìn)程調(diào)度子系統(tǒng),所有子系統(tǒng)依賴它來掛起/喚醒進(jìn)程。當(dāng)進(jìn)程被喚醒后,進(jìn)程調(diào)度子系統(tǒng)依靠內(nèi)存管理子系統(tǒng)來對進(jìn)程的內(nèi)存映射(頁表)進(jìn)行調(diào)
整;進(jìn)程間通訊子系統(tǒng)依靠內(nèi)存管理子系統(tǒng)來實(shí)現(xiàn)共享內(nèi)存通信機(jī)制,允許多個(gè)進(jìn)程共享物理內(nèi)存;虛擬文件子系統(tǒng)依靠網(wǎng)絡(luò)接口子系統(tǒng)來實(shí)現(xiàn)網(wǎng)絡(luò)文件系統(tǒng)
(NFS),并且依靠內(nèi)存管理子系統(tǒng)來實(shí)現(xiàn) Ramdisk 設(shè)備;內(nèi)存管理子系統(tǒng)依靠虛擬文件子系統(tǒng)來實(shí)現(xiàn)對換。
    由此可見,測試Linux性能的關(guān)鍵在于測試Linux內(nèi)核性能,而測試Linux內(nèi)核性能又可以細(xì)化成五大子系統(tǒng)的測試。
性能評測方法學(xué)
    一個(gè)性能評測實(shí)際解決方案應(yīng)該包括以下三個(gè)方面:
    1).被評測系統(tǒng)處于壓力負(fù)荷下;
    2).測量系統(tǒng)執(zhí)行有效特定任務(wù)的能力,執(zhí)行特定任務(wù)的耗時(shí),執(zhí)行特定任務(wù)的CPU 利用率;   
     3).基于性價(jià)比因素考慮進(jìn)行改進(jìn)。
    性能測試領(lǐng)域的自頂向下方法(Top-Down
Approach),是一種把性能測試從系統(tǒng)角度分層次考慮的方法。從上到下分成系統(tǒng)層(System Level)、應(yīng)用層(Application
Level)、微結(jié)構(gòu)層(Micro-Architecture)三層,如圖所示。
   


圖2. 自頂向下性能測試法
    1).系統(tǒng)層(System Level):包括處理器、內(nèi)存、硬盤和網(wǎng)絡(luò)等;
    2).應(yīng)用層(Application Level):包括鎖、線程、堆和API 等;
    3).微結(jié)構(gòu)層(Micro-Architecture):包括數(shù)據(jù)隊(duì)列、循環(huán)結(jié)構(gòu)和cache優(yōu)化。
   
自頂向下方法是從系統(tǒng)硬件層(處理器、內(nèi)存、硬盤、網(wǎng)絡(luò)等)、應(yīng)用層(鎖、線程、堆、API)和微結(jié)構(gòu)層來考慮性能測試標(biāo)準(zhǔn)。系統(tǒng)層關(guān)注的是系統(tǒng)硬件設(shè)備
資源和外圍設(shè)備;應(yīng)用層關(guān)注的是操作系統(tǒng)和應(yīng)用程序資源;微結(jié)構(gòu)層關(guān)注的是 CPU 資源、邏輯單元和內(nèi)存訪問等細(xì)節(jié)。
內(nèi)核性能評價(jià)的主要標(biāo)準(zhǔn)和參數(shù)
    1.Linux內(nèi)核性能評價(jià)的主要標(biāo)準(zhǔn)
    從系統(tǒng)性能評價(jià)方法學(xué)的角度來考慮,Linux內(nèi)核性能評價(jià)應(yīng)該遵循以下標(biāo)準(zhǔn)。
    1).正確性
    運(yùn)行的正確性是首要的,運(yùn)行結(jié)果出錯(cuò)的程序是沒有應(yīng)用價(jià)值的。
    2).可靠性
    Linux內(nèi)核直接控制和管理計(jì)算機(jī)系統(tǒng)硬件和軟件資源,以方便用戶充分而有效地利用計(jì)算機(jī)資源的程序集合,如果自身都運(yùn)行不可靠,穩(wěn)定性差,將直接導(dǎo)致硬件工作不正常和軟件應(yīng)用的不穩(wěn)定。
    3).工作性能
    (1) 處理能力,單位時(shí)間內(nèi)能處理的信息量(吞吐率);
    (2) 響應(yīng)能力,包括響應(yīng)時(shí)間、周轉(zhuǎn)時(shí)間和排隊(duì)時(shí)間等;
    (3) 利用率,時(shí)間段T內(nèi),資源被使用時(shí)間t 與T的比值。
    正確性是測試的前提,可靠性和工作性能可以通過設(shè)計(jì)相應(yīng)負(fù)載對內(nèi)核進(jìn)行壓力測試。
    2.Linux內(nèi)核性能評價(jià)的參數(shù)
    1).響應(yīng)速度
    內(nèi)核完成某一任務(wù)(程序)所花費(fèi)的時(shí)間,如磁盤訪問、
存儲(chǔ)
器訪問和輸入/輸出等待。
    2).CPU時(shí)間
    程序在CPU中的執(zhí)行時(shí)間。
    3).CPU利用率
    因此只有充分利用 CPU,才能最大程度的提高系統(tǒng)的效率。
    Linux內(nèi)核壓力測試
    Linux內(nèi)核壓力測試使用如下圖示過程。


圖3. Linux內(nèi)核壓力測試過程
   
Linux內(nèi)核壓力測試組合了不同方面的多個(gè)測試,包括內(nèi)存和網(wǎng)絡(luò)傳輸負(fù)載生成器。在執(zhí)行之前,測試會(huì)根據(jù)系統(tǒng)中存在多少物理和虛擬內(nèi)存來調(diào)整其總的內(nèi)存
使用情況。評價(jià)系統(tǒng)資源利用率所選擇的測試組合必須給系統(tǒng)的資源帶來足夠的壓力,可以從LTP測試套件中獲得測試腳本ltpstress.sh。
    Linux 內(nèi)核主要有如下四個(gè)方面影響系統(tǒng)的響應(yīng)和執(zhí)行時(shí)間: CPU,用于在機(jī)器的CPU(s)上處理數(shù)據(jù)的時(shí)間;Memory,用于自真實(shí)
存儲(chǔ)
器中讀寫數(shù)據(jù)的時(shí)間;I/O,用于自磁盤存儲(chǔ)器讀寫數(shù)據(jù)的時(shí)間;Networking,用于自網(wǎng)絡(luò)讀寫數(shù)據(jù)的時(shí)間。測試能得到 CPU(s)、內(nèi)存、I/O 和網(wǎng)絡(luò)等主要內(nèi)核區(qū)域的資源利用率。
    測試應(yīng)該充分地覆蓋內(nèi)核代碼,以幫助支持生成的穩(wěn)定性聲明?墒褂孟旅鎯蓚(gè)開放源代碼 Linux資源監(jiān)控工具來評價(jià)資源利用率水平:Top與sar,包含于大部分 Linux 發(fā)行版本中,可用于當(dāng)前的2.4 和2.6內(nèi)核(目前內(nèi)核為2.6.18)。
    內(nèi)核代碼覆蓋率分析
    獲得足夠的內(nèi)核覆蓋率是系統(tǒng)壓力測試的另一個(gè)職責(zé)。盡管所選的測試組合充分地利用了四種主要資源,它也有可能只是執(zhí)行了內(nèi)核的一小部分,因而應(yīng)該對覆蓋率進(jìn)行分析以確保組合可以成為一個(gè)系統(tǒng)壓力測試。
    當(dāng)前,有兩個(gè)開放源代碼工具可以幫助進(jìn)行Linux
內(nèi)核的代碼覆蓋率分析。Gcov,這個(gè)工具分析內(nèi)核代碼的覆蓋率,并報(bào)告哪些行、函數(shù)和分支被覆蓋以及它們被訪問了多少次。Lcov,這個(gè)工具由一組
Perl 腳本構(gòu)成,以實(shí)現(xiàn)基于 HTML 的輸出,輸出包括覆蓋率百分比、圖表以及概述頁,可以快速瀏覽覆蓋率數(shù)據(jù)。
Linux內(nèi)核可靠性評測
    系統(tǒng)的穩(wěn)定性和可靠性通常以連續(xù)運(yùn)轉(zhuǎn)時(shí)間和系統(tǒng)的可靠運(yùn)行時(shí)間來度量。
    有兩個(gè)特別的階段:一個(gè)是“初始測試”階段,另一個(gè)是“壓力可靠性運(yùn)轉(zhuǎn)”階段或“壓力測試”階段。初始測試執(zhí)行:
    文件系統(tǒng)壓力測試。
    硬盤 I/O 測試。
    內(nèi)存管理壓力測試。
    IPC 壓力測試。
    調(diào)試器測試。
    命令功能的驗(yàn)證測試。
    系統(tǒng)調(diào)用功能的驗(yàn)證測試。
    通過初始測試是開始測試的必要條件,LTP 測試套件runalltest.sh可用于初始測試。
    壓力測試在使用網(wǎng)絡(luò)與內(nèi)存管理的同時(shí),并行地運(yùn)行大范圍的內(nèi)核組件,并在測試系統(tǒng)上生成高壓力負(fù)荷,壓力測試執(zhí)行:
    NFS 壓力測試。
    內(nèi)存管理壓力測試。
    文件系統(tǒng)壓力測試。
    數(shù)學(xué) (浮點(diǎn)) 測試。
    多線程壓力測試。
    硬盤I/O 測試。
    IPC測試。
    系統(tǒng)調(diào)用功能的驗(yàn)證測試。
    網(wǎng)絡(luò)壓力測試。
    壓力測試可以驗(yàn)證產(chǎn)品在系統(tǒng)高使用率時(shí)的健壯性,LTP 測試套件ltpstress.sh可用于壓力測試。
    評估
   
可靠性(reliability)是產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力,它的概率度量稱為可靠度,是評估的依據(jù)。軟件可靠性
(software
reliability)是軟件系統(tǒng)的固有特性之一,它表明了一個(gè)軟件系統(tǒng)按照用戶的要求和設(shè)計(jì)的目標(biāo),執(zhí)行其功能的正確程度?煽康能浖到y(tǒng)應(yīng)該是正
確、完整、一致和健壯的。
    全文總結(jié)
    本文在充分分析、總結(jié)國內(nèi)外有關(guān)軟硬件性能評測相關(guān)理論和研究成果的基礎(chǔ)上,結(jié)合 Linux內(nèi)核自身的特點(diǎn),針對Linux五大子系統(tǒng),研究評測內(nèi)核的方法、工具和標(biāo)準(zhǔn),以達(dá)到評測 Linux內(nèi)核性能的目的。
               
               
               

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u2/81377/showart_1405758.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP