成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

動態追蹤技術:Linux喜迎DTrace

系統 Linux
DTrace 是動態追蹤技術的鼻祖,源自 Solaris 操作系統,提供了高級性能分析和調試功能,它的源代碼采用 CDDL 許可證,不兼容 Linux 內核使用的 GPLv2 許可證,無法直接移植。

 通過前面幾篇文章的介紹,我們已經可以通過一系列命令,從不同維度獲得操作系統當前的性能運行情況。 另外,借助類似Ganglia這樣的開源產品,持續不斷地實施性能數據采集和存儲,我們基于時間序列的歷史性能圖形,就可以大致判讀出計算集群的資源消耗情況和變化趨勢。 但是,僅僅這些還是不夠的,在很多情況下,我們希望能夠知道:“慢,是為什么慢;快,又是為什么快”。 如果要回答這個問題,就必須引入另外一件神兵利器:動態追蹤技術(Dynamic Tracing)。

鑒于這套兵器過于復雜(牛逼),屬于專家級技能, advanced performance analysis and troubleshooting tool。據稱掌握該技能需要耗費大約100小時以上,所以如果不是對于系統性能問題有***追求,以及變態般地技術狂熱,建議繞過本文。

為了便于展開,今天先起個頭,重點梳理下動態追蹤技術的發展簡史和目前的生態環境。更加具體詳細的內容,會在后續的文章中陸續發表。

上月底,正當全國人民翹首以盼光棍節的時候,開源社區傳來一則重要新聞: Linux 4.9-rc1發布,正式合并了一項重要特性:BPF追蹤(Timed sampling)。

系統性能領域的國際導師Brendan Gregg,感動得都快哭了,當即在Twitter上表示這是一個重要的里程碑! 他隨后又寫了一篇長文《DTrace for Linux 2016》,以示慶祝。

As a long time DTrace user and expert, this is an exciting milestone! --Brendan Gregg

Linux 合并了BPF而已嘛,跟DTrace這個勞什子有什么關系呢?

DTrace 是動態追蹤技術的鼻祖,源自 Solaris 操作系統,提供了高級性能分析和調試功能,它的源代碼采用 CDDL 許可證,不兼容 Linux 內核使用的 GPLv2 許可證,無法直接移植。 當然,江湖上還有另外一種說法,Linux之所以一直沒有原生支持DTrace,是因為Linus 覺得這玩意沒什么必要。 Anyway,隨著 BPF跟蹤的***主要功能合并到 Linux 4.9-rc1,Linux 現在有了類似 DTrace 的高級分析和調試功能。

Linux 這次合并的BPF(The Berkeley Packet Filter ),和Ganglia一樣,來自于加州大學伯克利分校(這所大學很有意思,以后還要反復提到)。 BPF,顧名思義,最早只是一個純粹的封***濾器,大家比較熟知的netfilter,就是基于BPF實現的動態編譯器。 后來在很多牛人的參與下,進行了擴展,得到了一個所謂的 eBPF,可以作為某種更加通用的內核虛擬機。 通過這種機制,我們其實可以在 Linux 中構建類似 DTrace 那種常駐內核的動態追蹤虛擬機。

Linux 沒有 DTrace(名字),但現在有了 DTrace(功能)

嚴格來說,DTrace這個詞本身,已經并不是狹義上基于Solaris的那套工具了,而是代表的是后現代操作系統的一整套工具家族和方法論。

History

當時 Solaris 操作系統的幾個工程師花了幾天幾夜去排查一個看似非常詭異的線上問題。 開始他們以為是很高級的問題,就特別賣力,結果折騰了幾天,***發現其實是一個非常愚蠢的、某個不起眼的地方的配置問題。 自從那件事情之后,這些工程師就痛定思痛,創造了 DTrace 這樣一個非常高級的調試工具,來幫助他們在未來的工作當中避免把過多精力花費在愚蠢問題上面。 畢竟大部分所謂的“詭異問題”其實都是低級問題,屬于那種“調不出來很郁悶,調出來了更郁悶”的類型。---《漫談動態追蹤技術》

通觀DTrace的演變過程,幾乎相當于一部現代操作系統系統的發展史,細查起來,極其復雜。 但是有兩個人非常值得關注,一個是***的布道師,一個是國內的代表人物, 初學者完全可以通過閱讀他們的文章、代碼,甚至微博/Twitter動態,了解動態追蹤技術的實際應用情況。

Brendan Gregg

前SUN性能工程師,最早的DTrace用戶,出版了包括《性能之巔》在內的一大批書籍,囊括了性能問題領域的技術、工具、方法論等方方面面。 是動態追蹤技術當之無愧的***布道師。他維護的個人博客發布了大量的原創內容,并且持續保持著相當的活躍度??梢宰鳛?**手的學習資料。

Twitter: 個人網站:

章亦春 網名 agentzh。開源項目OpenResty創始人,編寫了很多 Nginx 的第三方模塊, Perl 開源模塊,以及最近一些年寫的很多 Lua 方面的庫。 他發表過的《漫談動態追蹤技術》,是目前唯一由Brendan認證的中文資料,入門***。 另外,他本人也在目前的工作、開源項目運營中大量使用動態追蹤技術。

Linux 追蹤器選型

動態追蹤技術最復雜的地方在于追蹤器種類繁多,讓人一時無從下手。 根據前人的一些經驗總結,建議按照以下路徑進行選擇:

普通模式

適用于:開發者, 系統管理員, DevOps, SRE

CPU分析

perf_events的應用很廣泛,配合Brendan Gregg老師研究的火焰圖工具,可以分析程序在所有代碼基的資源消耗,精確定位到函數級。 例如

[[178363]]

進程追蹤

  1. # ./execsnoop 
  2. Tracing exec()s. Ctrl-C to end
  3.    PID   PPID ARGS 
  4.  22898  22004 man ls 
  5.  22905  22898 preconv -e UTF-8 
  6.  22908  22898 pager -s 
  7.  22907  22898 nroff -mandoc -rLL=164n -rLT=164n -Tutf8 

HARD模式

適用于:性能或內核工程師

Understanding all the Linux tracers to make a rational decision between them a huge undertaking.

  1. ftrace 內核hacker的***。已經包含在內核,能夠支持 tracepoints, kprobes, and uprobes, 并提供一些能力: 事件追蹤, 可選擇過濾器和參數; 事件計數和時間采樣,內核概覽;基于函數的路徑追蹤。
  2. perf_events Linux用戶的主要追蹤器之一,它的源代碼在內核中,通常在一個 linux-tools-common包。
  3. eBPF 基于內核的虛擬機
  4. SystemTap ***有力的追蹤器。它可以做幾乎所有的事情: 分析,打點, kprobes, uprobes (源子 SystemTap), USDT, 內核編程等。
  5. LTTng 事件收集器, 優于其它追蹤器,支持多種事件類型,包括 USDT。
  6. ktap 一個很有前景的追蹤器,基于lua內核虛擬機
  7. dtrace4linux 個人開發者業余產出 (Paul Fox) ,將 Sun DTrace遷移到 Linux。
  8. OL DTrace Oracle Linux DTrace,將 DTrace 遷移到Oracle Linux的實現。
  9. sysdig 一種新型追蹤器, 能夠基于類似tcpdump的命令操作 syscall events, 再用lua后處理。
責任編輯:武曉燕 來源: 開源博客
相關推薦

2021-11-15 04:00:07

Linux 內核動態

2021-11-14 07:29:55

Linux 內核靜態追蹤Linux 系統

2016-12-26 08:56:09

LinuxDTraceBPF

2011-10-09 12:59:54

DtraceLinux甲骨文

2024-04-15 11:24:32

庫存跟蹤技術NFC藍牙

2020-08-23 18:10:16

機器狗人工智能系統

2013-03-19 09:18:35

Cookie

2010-01-22 11:00:31

linux指針函數

2010-09-30 09:42:06

2009-06-12 11:36:42

Netbeans插件DTrace GUI

2015-02-06 15:51:11

2013-09-24 10:48:32

Google追蹤技術Cookies

2013-09-25 17:02:50

追蹤技術CookiesGoogle

2020-04-09 10:15:55

區塊鏈新冠疫情技術

2010-09-30 10:03:53

2016-12-28 16:30:50

51CTO 福利

2010-09-30 10:16:48

2012-11-30 10:44:06

網絡回溯分析技術

2019-03-21 09:21:07

技術研發指標

2022-03-03 12:24:17

暗碼追蹤數字水印打印機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 无码国模国产在线观看 | 国产精品1区2区 | 亚洲精品一区二区三区蜜桃久 | 亚洲精品视频一区 | 成人福利片 | 国产区在线免费观看 | 人人艹人人爽 | 成人精品一区二区 | 久久久久久中文字幕 | 91精品一区二区三区久久久久久 | 国产成人福利在线观看 | 久久久久久久91 | 免费一区在线 | 欧美一区二区三区在线看 | 精品视频一区二区三区在线观看 | 亚洲欧美日韩精品久久亚洲区 | 日韩一区av| 国产一区二区三区视频免费观看 | 日本啊v在线 | 亚洲欧洲综合av | 在线国产小视频 | 夜久久 | 在线免费观看黄视频 | 亚洲成人一区二区三区 | 中文字幕一区二区三区乱码在线 | 97精品国产一区二区三区 | 欧美精品一区二区三区在线 | 亚洲国产精品一区 | 九九亚洲| www.久| av大片在线观看 | 青青久久av北条麻妃海外网 | 91精品国产一区二区 | 成人午夜性成交 | 91在线综合 | 欧美中文字幕在线观看 | 日韩在线一区二区 | 精品久久影院 | 最近日韩中文字幕 | 午夜精品视频在线观看 | 日日操夜夜操天天操 |