在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于linux eBPF的進程off-cpu的方法

454398 ? 來源: Chinaunix ? 作者:lvyilong316 ? 2020-09-25 15:41 ? 次閱讀

提起off-CPU就不得不提on-cpu,on-cpu是在線程(進程)在CPU上運行的消耗,off-cpu就是進程(線程)由于某種原因阻塞的消耗,如等待IO,等待鎖,等待定時器,等待內存頁面的swap等。如下圖所示,紅色部分屬于on-cpu部分,藍色部分屬于off-cpu。

一般我們用的perf命令等都是采樣on-cpu的指令進行CPU的消耗分析的,這篇文章主要介紹一下分析進程off-cpu的方法。

要想風險一個進程的off-cpu消耗,首先就是要確保程序編譯時有完整的堆棧信息。例如有些C程序為了優化性能添加了gcc的-fomit-frame-pointer編譯選項,這就導致程序中不再有堆棧信息,對于這種情況是無法分析出off-cpu的堆棧消耗的。

這里講的分析off-cpu的工具是基于linux eBPF的offcputime(要求linux內核版本在4.8以上),當然使用perf sched timehist工具也可以(linux內核版本大于4.10),但是開銷要大一些。我們首先yum安裝bpfcc-tools(tools for BPF Compiler Collection),以及git clone了

我們想看一下pgrep -nx tar命令的off-cpu執行消耗可以使用如下命令。

如果我們只想查看內核態的off-cpu消耗可以加上-K參數。如果想把TASK_UNINTERRUPTIBLE狀態過濾掉可以添加--state 2,其中TASK_RUNNING狀態為0, TASK_INTERRUPTIBLE狀態為1 TASK_UNINTERRUPTIBLE狀態為2。

當然也可以查看off-cpu的火焰圖,如下方式

sudo offcputime-bpfcc -df -p `pgrep -nx a.out` 30 > out.stacks

./flamegraph.pl --color=io --title="Off-CPU Time Flame Graph" --countname=us~/out.stacks > output.svg

打開output.svg圖片即可。

然后我們再來講一下off-cpu的原理。當進程由于某種原因block或者要發送切換時,記錄一下當前的堆棧和時間,當切換回來的時候再次記錄下堆棧和時間即可。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11015

    瀏覽量

    215355
  • Linux
    +關注

    關注

    87

    文章

    11430

    瀏覽量

    212435
  • 定時器
    +關注

    關注

    23

    文章

    3273

    瀏覽量

    116861
  • 線程
    +關注

    關注

    0

    文章

    507

    瀏覽量

    20043
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Linux進程怎么綁定CPU

    昨天在群里有朋友問:把進程綁定到某個 CPU 上運行是怎么實現的。
    發表于 10-26 10:26 ?1974次閱讀

    實戰eBPF kprobe函數插樁

    本文作者為團隊小伙伴阿松,在Linux文件監控領域實戰經驗豐富。本次引入eBPF在文件監控上應用,提升文件變更的關聯進程信息等。在實現過程中,分享了eBPF kbproe時,被插樁函數
    發表于 11-29 09:03 ?2267次閱讀

    Linux進程的睡眠和喚醒

    Linux中,僅等待CPU時間的進程稱為就緒進程,它們被放置在一個運行隊列中,一個就緒進程的狀 態標志位為 TASK_RUNNING。一旦
    發表于 06-07 12:26 ?575次閱讀

    干貨分享:基于嵌入式Linux進程調度實現方法

    可運行隊列中。Linux進程調度采用了動態優先級 和權值調控的方法,既可實現上述三種調度策略,又能保證實時進程總是比普通進程優先使用
    發表于 12-10 14:17

    openEuler 倡議建立 eBPF 軟件發布標準

    《The future of eBPF in the Linux Kernel》展望了 eBPF 的發展方向,具體的演進方向包括幾個方面:更完備的編程能力:當前 eBPF 的編程能力
    發表于 12-23 16:21

    Linux進程管理

    Linux進程管理 本章主要介紹進程的概念、狀態、構成以及Linux進程的相關知識。 掌握進程
    發表于 04-28 14:57 ?0次下載

    如何使用OFF-CPU火焰圖調查分析Linux性能問題概述

    本文用off-cpu火焰圖分析一個程序的延遲(主要在拿鎖上),找出來瓶頸,并消除該瓶頸的故事。本文非常值得一讀,但是"Linux閱碼場"沒有足夠的時間將其翻譯為中文,希望童鞋們直接讀英文。
    的頭像 發表于 12-23 13:47 ?7319次閱讀

    如何設置Linux進程的睡眠和喚醒

    Linux中,僅等待CPU時間的進程稱為就緒進程,它們被放置在一個運行隊列中,一個就緒進程的狀 態標志位為TASK_RUNNING。
    發表于 04-23 14:29 ?1002次閱讀

    學會Linux進程管理的方法

    Linux 是一種動態系統,能夠適應不斷變化的計算需求。Linux 計算需求的表現是以進程 的通用抽象為中心的。進程可以是短期的(從命令行執行的一個命令),也可以是長期的(一種網絡服務
    發表于 05-16 17:19 ?831次閱讀
    學會<b class='flag-5'>Linux</b><b class='flag-5'>進程</b>管理的<b class='flag-5'>方法</b>

    Linux CPU的性能應該如何優化

    Linux系統中,由于成本的限制,往往會存在資源上的不足,例如 CPU、內存、網絡、IO 性能。本文,就對 Linux 進程CPU
    的頭像 發表于 01-18 08:52 ?3561次閱讀

    虛擬機:查看進程內存和CPU占用的方法

    虛擬機:查看進程內存和CPU占用的方法
    的頭像 發表于 06-22 11:06 ?8740次閱讀

    eBPF是什么以及eBPF能干什么

    一、eBPF是什么 eBPF是extended BPF的縮寫,而BPF是Berkeley Packet Filter的縮寫。對linux網絡比較熟悉的伙伴對BPF應該比較了解,它通過特定的語法
    的頭像 發表于 07-05 15:17 ?1.2w次閱讀
    <b class='flag-5'>eBPF</b>是什么以及<b class='flag-5'>eBPF</b>能干什么

    linux查看端口被進程占用的方法 Linux與windows的區別

    基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統。 linux查看端口被進程占用的方法 1、、lsof -i:端口號 2、netstat -tunlp|grep 端口號
    的頭像 發表于 08-22 14:23 ?2517次閱讀

    Linux進程間通信方法之管道

    上文中我們介紹了進程間通信的方法之一:信號,本文將繼續介紹另一種進程間通信的方法,即管道。管道是Linux中使用shell經常用到的一個技術
    的頭像 發表于 05-14 15:47 ?2134次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>進程</b>間通信<b class='flag-5'>方法</b>之管道

    linux查看weblogic進程

    Linux操作系統中,WebLogic是一種常用的Java應用服務器,用于部署和管理企業級Java應用程序。為了確保WebLogic服務器正常運行,有時我們需要查看WebLogic進程以了解其狀態
    的頭像 發表于 12-05 16:07 ?2325次閱讀
    主站蜘蛛池模板: 天天操天天射天天舔 | 人人干操| 在线一区观看 | 亚洲w码欧洲s码免费 | 亚洲五月综合缴情婷婷 | 欧美性猛交xxxx免费看久久 | 瑟瑟网站免费 | 中文字幕视频二区 | 国产精品女丝袜白丝袜 | 欧美黄色一级片视频 | 青草午夜精品视频在线观看 | 波多野结衣第一页 | 三级黄色片免费观看 | 国产色视频网站免费观看 | 日日噜噜噜夜夜爽爽狠狠图片 | 一级片免费在线观看 | 888米奇色狠狠俺去啦 | 久久综合九色综合欧美播 | 狠狠狠狠狠狠 | 久操久操 | japan高清视频乱xxxxx | 新午夜影院 | 中文字幕一区二区三区四区 | 很黄很色的网站 | 欧美人与动欧交视频 | 九九热在线免费观看 | 色吧首页 | 午夜欧美精品久久久久久久 | 午夜久久久久久 | 宅男噜噜噜66 | 色多多免费在线观看 | 天天噜天天干 | xxxx69日本hd| 六月天色婷婷 | 精品三级国产精品经典三 | 在线免费观看色视频 | 久草免费新视频 | 啪啪影城 | 免费在线黄网站 | 日韩精品卡4卡5卡6卡7卡 | 免费看毛片网 |