• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            cdfs是什么意思(CDF是什么意思)

            更新時間:2023-03-02 18:33:48 閱讀: 評論:0

            vmstat是一個很全面的性能分析工具,可以觀察到系統的進程狀態、虛擬內存使用、磁盤的IO、中斷、上下文切換、CPU使用等情況。在操作系統性能分析中,能100%理解vmstat輸出的含義并靈活應用,是性能分析必備的基本能力。

            本次學習從vmstat下手,研究CPU的三個重要運行指標:上下文切換(context switchs)、運行隊列(Run queue)和使用率(utilization),日常運維過程中經常根據這三個指標來判斷CPU的性能和系統整體性能,但這三個指標不是孤立的,它們有一個共同的聯系紐帶:進程。

            圖1vmstat運行截圖

            1. 進程工作模式和上下文切換

            進程是在操作系統中運行的特定程序或執行的任務。進程是程序的運行過程,是隨執行過程不斷變化的實體。和程序包含指令和數據一樣,進程也包含程序計數器和所有CPU寄存器的值,同時它的堆棧中存儲著子程序參數、返回地址以及變量等臨時數據。

            1.1 進程的兩種工作模式

            內核態和用戶態是現代操作系統進程的兩種工作模式,內核態運行在內核空間,而用戶態應用程序運行在用戶空間。它們代表不同的級別,而對系統資源具有不同的訪問權限。內核態運行在最高級別,這個級下所有的操作都受系統信任;而用戶態運行在較低級別。在內核態時,處理器控制著對硬件的直接訪問以及對內存的非授權訪問。內核態和用戶態有自己的內存映射,即自己的地址空間。

            進程的用戶態切換到內核態有3種方式,但這三種方式只是進程內部的模式切換。

            a、 系統調用:這是用戶態進程主動要求切換到內核態的一種方式,用戶態進程通過系統調用申請使用操作系統提供的服務程序完成工作,如創建新進程。系統調用的機制核心還是使用了操作系統為用戶特別開放的一個中斷來實現。

            b、 異常中斷:當CPU在執行運行在用戶態下的程序時,發生了某些事先不可知的異常,這時會觸發由當前運行進程切換到處理此異常的內核相關程序中,也就轉到了內核態,比如缺頁異常。

            c、 外圍設備的中斷:當外圍設備完成用戶請求的操作后,會向CPU發出相應的中斷信號,這時CPU會暫停執行下一條即將要執行的指令轉而去執行與中斷信號對應的處理程序,如果先前執行的指令是用戶態下的程序,那么這個轉換的過程自然也就發生了由用戶態到內核態的切換。如硬盤讀寫操作完成,系統會切換到硬盤讀寫的中斷處理程序中執行后續操作等。

            1.2 上下文切換

            進程上下文:就是一個進程在執行的時候,CPU的所有寄存器中的值、進程的狀態、堆棧上的內容、進程打開的文件以及內存信息等,是進程運行的環境。

            上下文切換(context switch)可以分為三種情況:

            a、 當內核需要從一個進程內核態切換到另一個進程內核態時,它需要保存當前進程的所有狀態然后加載下一個進程的狀態,即保存當前進程的進程上下文,以便再次執行該進程時,能夠恢復切換時的狀態,繼續執行。

            b、 進程由用戶態切換到內核態,由用戶空間轉化為內核空間??赡苡上到y調用或設備中斷引起,但不是所有的系統調用或設備中斷都會觸發上下文切換,那些在內核態中的系統調用和設備中斷是不會引起上下文切換的。

            c、 有時一個硬件中斷的產生,也可能導致內核收到中斷信號后由進程上下文切換到中斷上下文。

            無論哪種上下文切換,只要切換次數多都會影響CPU性能,這時線程就有非常大的優勢。

            1.3 線程

            線程是一種輕量進程,實際上在內核中,兩者幾乎沒有差別,除了一點:線程并不產生新的地址空間和資源描述符表,而是復用父進程的。但是無論如何,線程的調度和進程一樣,必須切換到內核態。

            進程優點是業務隔離,一個進程出現錯誤不會影響整個系統。如Oracle數據庫服務器傳統上就是進程模型。進程缺點是進程的分配和釋放有非常高的成本。因此Oracle數據庫需要連接池來保持連接減少新建和釋放,同時盡量復用連接而不是隨意的新建連接。

            線程優點是更輕量,建立和釋放速度更快,而且多個上下文間的通訊速度非常快。Web服務器傳統上就是線程模型。線程缺點是一個線程出現問題容易將整個系統搞崩潰。

            1.4 Vmstat工具faults欄(系統中斷/切換)參數

            熟悉了以上概念,對vmstat指令中faults欄就會有直觀的理解了(見圖1):

            1) in:(non clock) device interrupts 設備中斷,IO繁忙的系統(數據庫系統),進程經常性等待IO中斷進入內核態運行,所以設備中斷比較高。

            2) sy:system calls系統調用,統計進程內部模式切換的系統調用和進程內核態內部系統調用的總數。Linux系統vmstat中沒有這一項,認為系統調用也是中斷。

            3) cs:context switch上下文切換,統計進程間(線程間)上下文切換、進程(線程)模式切換和硬件中斷的總數。CPU繁忙的系統(web系統)上下文切換較多,可以調整進程/線程數比或者通過進程復用的方法來降低上下文切換總量。

            2. CPU利用率

            在使用vmstat時一般認為CPU欄sy是系統進程CPU占用率,us是用戶進程CPU占用率;但學習了進程工作模式和上下文切換后,發現這種認識是錯誤的,真實表述如下:

            圖2 Linux系統vmstat運行截圖

            1) us列顯示了所有進程用戶態消耗CPU的時間百分比。us值比較高時,說明進程用戶態消耗的CPU時間多,如果長期大于50%,需要考慮優化應用程序。

            2) sy列顯示了所有進程內核態消耗CPU的時間百分比。sy值比較高時,說明進程內核態消耗的CPU時間多;如果us+sy超過80%,就表明CPU資源存在不足。

            3) id列顯示了CPU處在空閑狀態的時間百分比;

            4) wa列表示進程IO等待所占CPU時間百分比。wa值越高,說明IO等待越嚴重。如果wa值超過20%,說明IO等待嚴重。wa僅在Linux系統vmstat中顯示。

            5) st列代表虛擬機占用CPU時間百分比。st僅在Linux系統vmstat中顯示。

            圖3 Linux系統top截圖

            6) ni:用做nice加權的進程分配的用戶態cpu時間百分比

            7) hi:硬中斷消耗CPU時間百分比

            8) si:軟中斷消耗CPU時間百分比

            9) st:虛擬機使用CPU時間百分比

            3. 進程生命周期、狀態和進程隊列

            3.1 生命周期每個進程都經歷了創建、運行和死亡的周期,但最精彩的始終是運行部分。

            圖4 進程生命周期

            3.2 進程狀態及狀態轉換

            下面是Linux內核中對進程狀態的定義(其它類Unix系統的進程狀態類似):

            下圖是Linux和HPUX系統進程狀態切換圖,兩個系統相似但又有細微不同:

            圖5 linux和HPUX進程狀態變換圖

            下表是常見進程狀態詳解:

            圖6 進程狀態詳解

            圖7 glance中所有阻塞狀態

            圖8 glance運行截圖

            3.3 vmstat中procs進程統計

            通過以上介紹,我們可以詳細解釋vmstat工具procs進程統計部分三個參數含義:

            1) r:代表CPU運行隊列中進程數。原則上1核的CPU的運行隊列不要超過2,整個系統的運行隊列不能超過總核數的2倍,否則代表系統壓力過大。

            2) b:代表處于等待IO、內存頁等資源的被阻塞的進程數,在Linux系統top中就是處于D狀態(不可中斷等待狀態)的進程數;在HPUX系統glance工具中統計處于CDFS、VM和IO狀態的進程數。

            3) w:代表可以進入運行隊列,但由于進程切換被切換出內核態的進程數。此參數只在HPUX系統的vmstat工具中存在。

            4. 總結

            性能監控和優化是一個龐大而又嚴謹的體系,要深入研究只能通過原理、實現和工具三方面結合,本文只是管中窺豹學習了CPU調度和進程管理,希望對大家的運維工作有所幫助。

            本文發布于:2023-02-28 21:23:00,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1677753228111878.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:cdfs是什么意思(CDF是什么意思).doc

            本文 PDF 下載地址:cdfs是什么意思(CDF是什么意思).pdf

            標簽:cdfs   CDF
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 无码不卡一区二区三区在线观看| 又黄又无遮挡AAAAA毛片| 精品亚洲没码中文字幕| 亚洲日韩精品一区二区三区无码| 老司机精品一区在线视频| 亚洲色www成人永久网址| 亚洲中文一区二区av| 成人欧美日韩一区二区三区| 亚洲一区二区三区| 欧美村妇激情内射| 国产成人亚洲欧美二区综合| 日本特黄特色aaa大片免费| 日本欧美一区二区三区在线播放| 日韩有码中文字幕国产| 国产无套内射又大又猛又粗又爽| 国产黄色三级三级看三级| 丰满少妇被猛烈进出69影院| 国产免费无遮挡吃奶视频| a级毛片免费观看在线| 四虎库影成人在线播放| 国产大屁股视频免费区| 日韩蜜桃AV无码中文字幕不卡高清一区二区| 日韩精品一区二区亚洲av| 日本高清一区免费中文视频| 国产一区二区高潮视频| 日本午夜免费福利视频| 国产精品一在线观看| 一本色道婷婷久久欧美| 久视频久免费视频久免费| 无码人妻丰满熟妇区bbbbxxxx| 日韩精品一区二区在线视| 毛片内射久久久一区| 热久久美女精品天天吊色| 国内精品伊人久久久久AV一坑| 国产成人年无码av片在线观看| 老司机精品成人无码AV| 亚洲av无码专区在线观看成人| 亚洲天堂视频网| 伊人成人在线高清视频| 欧美牲交a欧美牲交aⅴ图片| 日韩精品无码专区免费播放|