91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

為什么使用BPF工具分析性能?

發布時間:2020-05-25 21:38:12 來源:億速云 閱讀:200 作者:鴿子 欄目:系統運維

性能工具之所以使用擴展的BPF,部分原因在于它的可編程性。BPF程序可以執行自定義等待時間計算和統計摘要。僅這些功能就可以構成一個有趣的工具,并且還有許多其他具有這些功能的跟蹤工具。使BPF與眾不同的是,它還高效且生產安全,并且內置于Linux內核中。使用BPF,您可以在生產環境中運行這些工具,而無需添加任何新的內核組件。

讓我們看一些輸出和一個圖表,以了解性能工具如何使用BPF。該示例來自我發布的早期BPF工具bitehist,該工具以直方圖的形式顯示了磁盤I/O的大小:

為什么使用BPF工具分析性能?


關鍵的變化是直方圖可以在內核上下文中生成,這大大減少了復制到用戶空間的數據量。這種效率的提高是如此之大,以至于它可以允許工具在生產中運行,否則這些工具將太昂貴。詳細地:

在BPF之前,生成此直方圖摘要的完整步驟為:

1.     在內核中:為磁盤I / O事件啟用檢測。

2.     在內核中,對于每個事件:將一條記錄寫入perf緩沖區。如果使用跟蹤點(首選),則記錄包含有關磁盤I / O的元數據的幾個字段。

3.     在用戶空間中:定期將所有事件的緩沖區復制到用戶空間。

4.     在用戶空間中:遍歷每個事件,為字節字段解析事件元數據。其他字段將被忽略。

5.     在用戶空間中:生成字節字段的直方圖摘要。

注意:這些是可用的最佳步驟,但它們并沒有顯示唯一的方法。您可以安裝樹外跟蹤器(例如SystemTap),但是根據您的內核和發行版,這可能會很艱難。您也可以修改內核代碼,或開發自定義kprobe模塊,但是這兩種方法都涉及挑戰,并帶來風險。我開發了自己的解決方法,稱為“ hacktogram”,其中涉及為直方圖的每一行創建多個帶范圍過濾器的perf(1)統計計數器[16]。那太差了。

步驟2到步驟4對于高I / O系統具有高性能開銷。想象一下,每秒傳輸10,000個磁盤I / O跟蹤記錄到用戶空間程序以進行分析和匯總。

使用BPF,bitesize程序的步驟為:

1.     在內核中:啟用對磁盤I / O事件的檢測,并附加一個由bitesize定義的自定義BPF程序。

2.     在內核中,對于每個事件:運行BPF程序。它僅獲取字節字段,并將其保存到自定義BPF映射直方圖中。

3.     在用戶空間中:一次讀取BPF地圖直方圖并打印出來。

此方法避免了將事件復制到用戶空間并對其進行重新處理的開銷。它還避免了復制未使用的元數據字段。復制到用戶空間的唯一數據顯示在上一個輸出中:“ count”列,它是數字數組。

向AI問一下細節

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

AI

满城县| 周宁县| 襄樊市| 社会| 漾濞| 宁远县| 桃园市| 武城县| 鲜城| 佛冈县| 绥滨县| 鲁甸县| 昌平区| 宜阳县| 曲靖市| 温宿县| 保德县| 石景山区| 东兰县| 大兴区| 紫云| 宜君县| 西盟| 吴堡县| 南溪县| 云浮市| 缙云县| 张北县| 墨脱县| 蕉岭县| 安远县| 吕梁市| 揭西县| 房山区| 原阳县| 辽宁省| 吴堡县| 巴林右旗| 丹凤县| 安图县| 仁化县|