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

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

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

3天內不再提示

Coolbpf 在perf 事件中的增強

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-10-25 09:00 ? 次閱讀

1、perf 簡介

?Perf 是內置于 Linux 內核源碼樹中的性能剖析(profiling)工具。它基于事件采樣的原理,以性能事件為基礎,支持針對處理器相關性能指標與操作系統相關性能指標的性能剖析。

1.1、perf 框架

89c4df62-53fa-11ed-a3b6-dac502259ad0.jpg

主要有兩部分組成

Perf Tools:用戶態的 Perf Tools 為用戶提供了一系列豐富的工具集用于收集、分析性能數據。

Perf Event Subsystem:Perf Event 子系統是內核眾多子系統中的一員,其主要功能是和 Perf Tool 共同完成數據采集的工作。另外,Linux Hard Lockup Detector 也是通過 Perf Event 子系統來實現的。

?本文將重點圍繞 Perf Event 子系統展開介紹Coolbpf 在perf 事件中的增強。

1.2、perf 事件分類

perf的事件包括:

硬件事件:branch-instrctions / branch-miss / bus-cycles / cache-miss / cache-reference / cycles / instructions

硬件cache事件:d1-cached-miss

軟件事件:cpu-clocks / tasks-clock ....

tracepoint事件:sched_stat_runtime / syscalls...

probe事件:可用戶定義

8a04d2e8-53fa-11ed-a3b6-dac502259ad0.jpg

1.3、當前perf 工具集中的不足

?當前perf工具以命令行為主,缺乏完善的第三方應用開發sdk,導致perf功能雖然強大,但是功能相對比較封閉,無法適應特定場景的問題。比如說常見的CPU system 占用率高的問題,我們通常使用perf record 來記錄系統熱點,再通過 FlameGraph 工具轉換成火焰圖進行分析。該方法存在以下不足:

sys占用率高很有可能只是偶發性問題,通過監控發現了以后再來執行命令,現象很有可能已經消失,持續性追蹤會導致樣本數太大,無法凸顯出熱點函數;

sys占用率高只是部分cpu現象,具體cpu編號并不確定,導致定向抓取事件操作步驟會變得非常繁瑣;

perf 命令只能輸出中間文件,要生成常用的火焰圖數據還需要手工轉換;

2、Coolbpf 針對perf 增強

Coolbpf 是一個便捷高效的一站式eBPF開發編譯平臺,當perf遇見Coolbpf后,會碰撞出什么樣的火花呢?Coolbpf 為perf提供了應用開發的SDK,讓開發者可以借助eBPF快速開發 perf 應用。

2.1、Coolbpf perf 組織架構

8a1b465e-53fa-11ed-a3b6-dac502259ad0.png

?大致流程和常規的Coolbpf 應用開發過程基本一致。主要分為

libbpf 應用、

perf 事件處理、

用戶態處理、 ?接下來我們以 testPerf.py為例,講解perf 典型應用開發。

(文件:https://gitee.com/anolis/coolbpf/blob/master/lcc/pylcc/guide/testPerf.py)

2.2、bpf 應用部分

? bpf 應用和其它的kprobe/tp代碼實現并無明顯差別:

#include "lbc.h"

SEC("perf_event")
int bpf_prog(struct bpf_perf_event_data *ctx)
{
    bpf_printk("hello perf
");
    return 0;
}

char _license[] SEC("license") = "GPL";

2.3、perf event

?Coolbpf 對perf_attr 做了python 化處理,故使用在配置 perf attr的時候,只需要參考 perf 官方文檔中關于attr 配置說明進行配置即可。下面的例子是追蹤 perf PAGE_FAULTS事件的方法。

    pfConfig = {
            "sample_freq": 50, 
            "freq": 1,
            "type": PerfType.SOFTWARE,
            "config": PerfSwIds.PAGE_FAULTS,
        }
        self.attachPerfEvent("bpf_prog", pfConfig)

?此時系統中的 perf PAGE_FAULTS 事件就可以跟2.2 節的libbpf 代碼關聯起來。

2.4、用戶態處理

?本示例是將捕捉到的事件輸出到 /sys/kernel/debug/tracing/trace_pipe。用戶可以根據自己的情況去執行event 回調或者分析maps 信息

3、實戰應用

?根據1.3 節的應用場景,需要追蹤一個偶發性sys 沖高問題。在常規perf 使用存在困難的情況下,可以基于Coolbpf快速開發一個追蹤sys高問題的應用程序,代碼總共不超過180行,具體實現可以參考:perfSys.py(https://gitee.com/anolis/surftrace/blob/master/tools/pylcc/pytool/perfSys.py)

?應用實現流程圖如下:

8a2f2804-53fa-11ed-a3b6-dac502259ad0.png

?可以直接追蹤到對應的sys高調用棧

8a3bdde2-53fa-11ed-a3b6-dac502259ad0.jpg

通過上述方法,可以將原本需要花費多日守候才有可能捕捉到現場的疑難問題,縮短到完全無人值守,問題復現瞬間即可鎖定目標的小case。

4、總結

?Coolbpf 融合了libbpf靈活、高效、安全的優勢,結合perf強大的數據收集能力,并自身擁有快速部署、資源高效利用、結果直觀可視化輸出能力。如今兩兩聯合,應用前景非常廣泛,如性能剖析、應用觀測、系統調優等。

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

    關注

    68

    文章

    19390

    瀏覽量

    230607
  • Linux
    +關注

    關注

    87

    文章

    11332

    瀏覽量

    210024
  • 操作系統
    +關注

    關注

    37

    文章

    6863

    瀏覽量

    123544

原文標題:4、總結

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    DFT圖像處理的作用 DFT音頻信號處理的應用

    處理的幾個主要作用: 頻域濾波 :DFT允許我們分析圖像的頻率成分,從而可以設計濾波器來增強或抑制特定頻率的信號,例如低通濾波器可以減少圖像噪聲,而高通濾波器可以增強邊緣。 圖像壓縮 :
    的頭像 發表于 12-20 09:18 ?421次閱讀

    傅立葉變換圖像處理的作用

    傅里葉變換圖像處理中發揮著至關重要的作用。以下是傅里葉變換圖像處理的幾個主要作用: 一、圖像增強與去噪 去噪 :圖像的噪聲通常表現為
    的頭像 發表于 12-06 16:55 ?636次閱讀

    【每天學點AI】實戰圖像增強技術人工智能圖像處理的應用

    圖像增強(ImageEnhancement)是人工智能和計算機視覺中一項重要的技術,也是人工智能數據集預處理的一個重要步驟。它旨在提高圖像的質量,使其視覺上更加清晰、細節更豐富。這項技術自動駕駛
    的頭像 發表于 11-22 17:14 ?808次閱讀
    【每天學點AI】實戰圖像<b class='flag-5'>增強</b>技術<b class='flag-5'>在</b>人工智能圖像處理<b class='flag-5'>中</b>的應用

    VGA信號增強器的使用方法

    現代電子設備,VGA接口因其簡單、成本低廉而被廣泛應用于電腦顯示器、投影儀等設備。然而,VGA信號長距離傳輸時容易受到干擾和衰減,導致圖像質量下降。為了解決這一問題,VGA信號增強
    的頭像 發表于 11-08 10:06 ?452次閱讀

    增強現實抬頭顯示是啥意思

     增強現實抬頭顯示(AR-HUD, Augmented Reality Head-Up Display)是AR增強現實技術和HUD抬頭顯示功能的結合體。這種技術通過計算機生成的虛擬信息疊加在三維道路環境,使視覺特效與真實道路元
    的頭像 發表于 09-15 14:37 ?925次閱讀

    如何使用Intel Processor Trace工具查看任意函數執行時間

    在上一篇文章 PT_PERF: 基于 Intel PT 的時延性能分析工具 ,我們介紹了 Intel Processor Trace 時延分析工具的背景,功能和實現。
    的頭像 發表于 08-07 14:24 ?605次閱讀
    如何使用Intel Processor Trace工具查看任意函數執行時間

    增強模式下引導加載程序時,OTA升級失敗了,為什么?

    我注意到,當我增強模式下重新啟動以 0x81000 時手動啟動 user2 固件,然后運行 OTA 升級以升級 user1,它看起來像開始升級固件,但它幾乎立即失敗(WDT 重新啟動),使
    發表于 07-18 07:12

    Dify中使用PerfXCloud大模型推理服務

    近日,Dify全面接入了Perf XCloud,借助Perf XCloud提供的大模型調用服務,用戶可在Dify構建出更加經濟、高效的LLM應用。
    的頭像 發表于 07-15 09:28 ?987次閱讀
    <b class='flag-5'>在</b>Dify中使用PerfXCloud大模型推理服務

    增強現實是虛實結合嗎為什么

    們提供了一種全新的交互方式,使得虛擬世界與現實世界之間的界限變得模糊,實現了虛實結合。 增強現實技術是一種將計算機生成的虛擬信息與現實世界相結合的技術。它通過將虛擬信息疊加到現實世界增強用戶對現實世界的感知和理解。與傳統的虛
    的頭像 發表于 07-08 10:58 ?531次閱讀

    增強現實技術的特點有哪些

    增強現實技術(Augmented Reality,簡稱AR技術)是一種將計算機生成的虛擬信息疊加到現實世界的技術。它通過實時地計算攝像機影像的位置及角度,將相應的圖像、視頻、3D模型等虛擬信息
    的頭像 發表于 07-08 10:56 ?1144次閱讀

    增強現實ar和全息投影的區別

    增強現實(AR)和全息投影是兩種不同的技術,它們很多方面都有顯著的區別。 一、定義 增強現實(AR) 增強現實(Augmented Reality,簡稱AR)是一種將虛擬信息疊加到現
    的頭像 發表于 07-08 10:44 ?1525次閱讀

    想通過perf工具來檢查2段不同代碼的內存占用率,但一直沒找到,怎么辦?

    想通過perf工具來檢查2段不同代碼的內存占用率,但一直沒找到,怎么辦?
    發表于 05-17 13:33

    N溝道,100 V,1.09 mOhm,具有增強SOA的MOSFET CCPAK1212i包目標數據表

    電子發燒友網站提供《N溝道,100 V,1.09 mOhm,具有增強SOA的MOSFET CCPAK1212i包目標數據表.pdf》資料免費下載
    發表于 02-20 10:57 ?0次下載
    N溝道,100 V,1.09 mOhm,具有<b class='flag-5'>增強</b>SOA的MOSFET  <b class='flag-5'>在</b>CCPAK1212i包<b class='flag-5'>中</b>目標數據表

    如何在Aurix TC399測量DMIPS?

    我有一個 Aurix TC399 控制器上運行的算法,我想知道,我如何 CAN 測量 CPU 負載(以 DMIPS 為單位)? 根據我目前的理解和研究,我認為我需要監控指令的數量
    發表于 01-29 06:29

    modustoolbox正常編譯通過工程下增強了全局變量數組的長度后報錯了怎么解決?

    客戶使用modustoolboxdevelpcy8c6245azi-s3D72,正常編譯通過工程下增強了全局變量數組的長度,結果編譯報導不錯,初始化是內存超越了。通過對比發現.bss的大小最小是25292,如附件描述,請幫忙
    發表于 01-25 06:58
    主站蜘蛛池模板: a免费在线| 506rr亚洲欧美| 琪琪see色原网一区二区| 色婷亚洲| 人人做人人插| 免费看特级淫片日本| 久久久亚洲欧美综合| 丁香婷婷在线视频| 午夜一级影院| 久操资源在线| 免费高清在线视频色yeye| 亚洲一区二区三区免费看| 欧美精品人爱a欧美精品| 伊人狠狠丁香婷婷综合色| 四虎新网站| 免费日本黄色| 给个网站可以在线观看你懂的| 闲人综合| 国产精品a在线观看香蕉| 人人揉揉香蕉大青草| 美女扒开尿口给男人爽免费视频| 亚洲video| 欧美精彩狠狠色丁香婷婷| 国产色拍| 天天操综| 1000部又爽又黄的做黄禁片| 亚洲另类激情综合偷自拍| 久久综合狠狠综合久久综合88| 久久综合免费| 4tube高清性欧美| 免费看黄色的网站| 国产黄色大全| 亚洲成色在线综合网站| 欧美人与禽| xxxx欧美69免费| 免费看黄资源大全高清| 一本大道一卡二卡四卡| 天堂中文字幕在线| 黄色3级| 思思久久好好热精品国产| 免费被视频网站在线观看|