亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么解析perf報告中的swapper進程

發布時間:2022-01-19 17:41:53 來源:億速云 閱讀:252 作者:柒染 欄目:web開發

小編今天帶大家了解怎么解析perf報告中的swapper進程,文中知識點介紹的非常詳細。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內容,希望能夠幫助更多想解決這個問題的朋友找到問題的答案,下面跟著小編一起深入學習“怎么解析perf報告中的swapper進程”的知識吧。

深入理解perf報告中的swapper進程

一、前言

1、在perf監控進程的系統調用時,會出現大量swapper進程
2、官方描述該進程是當CPU上沒有其他任務運行時,就會執行swapper。換句話說swapper意味著CPU啥事也沒干,跑去休息去了
3、本文來觀察一下swapper在cpu上的表現

怎么解析perf報告中的swapper進程

二、環境準備

組件 版本
OS Ubuntu 16.04.4 LTS
systemtap version 4.2/0.165, commit release-4.1-41-g9cde541d4464

三、準備腳本

祭出我們強有力的工具systemtap,這里需要注意的是,systemtap各版本之間有一定的差異,

root@wilson-ubuntu:/opt/stap# stap -V
Systemtap translator/driver (version 4.2/0.165, commit release-4.1-41-g9cde541d4464)
Copyright (C) 2005-2019 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
tested kernel versions: 2.6.18 ... 5.1-rc2
enabled features: PYTHON3 NLS

確定好版本之后,編寫一個腳本,主要用到probe::scheduler.cpu_off,https://sourceware.org/systemtap/tapsets/API-scheduler-cpu-off.html

腳本如下:

probe scheduler.cpu_off
{
        printf("%20s (%5d) %5s %20s (%5d)  , is idle:%d \n ", task_execname(task_prev),task_pid(task_prev),"==>",task_execname(task_next),task_pid(task_next),idle)
}

腳本非常簡單,scheduler.cpu_off主要描述了進程離開CPU的狀態:
task_prev:即將離開CPU的進程
task_next:即將進入CPU的進程
idle:cpu是否處于空閑,這個變量就是我們關注的重點,如果idle為1,那就證明CPU并沒有運行任務

四、運行腳本

由于數據量太大,我們篩選一部分:

root@wilson-ubuntu:/opt/stap# stap switch.stp
...
            swapper/0 (    0)   ==>               stapio (29159)  , is idle:1
               stapio (29159)   ==>            swapper/0 (    0)  , is idle:0
            swapper/0 (    0)   ==>            rcu_sched (    7)  , is idle:1
            rcu_sched (    7)   ==>            swapper/0 (    0)  , is idle:0
            swapper/2 (    0)   ==>       irq/31-iwlwifi (  542)  , is idle:1
       irq/31-iwlwifi (  542)   ==>            swapper/2 (    0)  , is idle:0
            swapper/2 (    0)   ==>       irq/31-iwlwifi (  542)  , is idle:1
       irq/31-iwlwifi (  542)   ==>            swapper/2 (    0)  , is idle:0
            swapper/2 (    0)   ==>       irq/31-iwlwifi (  542)  , is idle:1
       irq/31-iwlwifi (  542)   ==>            swapper/2 (    0)  , is idle:0
            swapper/2 (    0)   ==>       irq/31-iwlwifi (  542)  , is idle:1
       irq/31-iwlwifi (  542)   ==>            swapper/2 (    0)  , is idle:0
            swapper/0 (    0)   ==>            rcu_sched (    7)  , is idle:1
            rcu_sched (    7)   ==>            swapper/0 (    0)  , is idle:0
            swapper/2 (    0)   ==>       irq/31-iwlwifi (  542)  , is idle:1
       irq/31-iwlwifi (  542)   ==>            swapper/2 (    0)  , is idle:0
            swapper/2 (    0)   ==>       irq/31-iwlwifi (  542)  , is idle:1
       irq/31-iwlwifi (  542)   ==>            swapper/2 (    0)  , is idle:0
            swapper/0 (    0)   ==>            rcu_sched (    7)  , is idle:1
            swapper/1 (    0)   ==>               stapio (29159)  , is idle:1
...

1、由于是4核的cpu,所以有4個swapper,swapper/n
2、swapper的進程號是0,在系統初始化時創建init進程,之后它就成了一個最低優先級的空閑任務
3、當swapper出現在左邊的時候(即將離開cpu的進程),對應最后一個字段idle是1,這時候證明cpu上運行的swapper進程(CPU去閑散去了)
4、由此驗證了,當cpu運行swapper進程的時候,實際上cpu是處于閑散的狀態,并沒有任何真正的任務在上面運行,處于idle狀態

感謝大家的閱讀,以上就是“怎么解析perf報告中的swapper進程”的全部內容了,學會的朋友趕緊操作起來吧。相信億速云小編一定會給大家帶來更優質的文章。謝謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会昌县| 晋宁县| 淳化县| 济南市| 资源县| 东方市| 剑阁县| 襄城县| 永德县| 从化市| 桑植县| 五台县| 泸州市| 建阳市| 龙陵县| 筠连县| 阿城市| 镇远县| 海门市| 封丘县| 普安县| 灵台县| 吴忠市| 东海县| 鹰潭市| 正镶白旗| 伊川县| 高州市| 黄石市| 醴陵市| 三门峡市| 保靖县| 永春县| 哈尔滨市| 安多县| 建始县| 丹阳市| 麦盖提县| 丰都县| 义乌市| 昭通市|