DTrace

DTrace(全稱Dynamic Tracing),也稱為動態跟蹤,是由 Sun™ 開發的一個用來在生產和試驗性生產系統上找出系統瓶頸的工具,可以對核心(kernel)和用戶應用程式(user application)進行動態跟蹤並且對系統運行不構成任何危險的技術。在任何情況下它都不是一個調試工具, 而是一個實時系統分析尋找出性能及其他問題的工具。 DTrace 是個特別好的分析工具,帶有大量的幫助診斷系統問題的特性。還可以使用預先寫好的腳本利用它的功能。 用戶也可以通過使用 DTrace D 語言創建他們自己定製的分析工具, 以滿足特定的需求。

簡介

1997年,供職於Sun而現已是Solaris核心研發部高級工程師的Bryan Cantrill 和他的工作組在緊張地研究一個性能問題,他出現在剛剛提及的Sun E10000伺服器。該伺服器在運行基準測試時,速度突然在一段時間內奇怪地降低。工作組經過六天夜以繼日的工作後,終於發現了問題的根本原因。某個“愚蠢之極”的配置錯誤將伺服器配置成了路由器。

“我很受震驚,”Cantrill 說到, “這是任何一個客戶都可能碰到的問題,但是他們可不敢奢望讓核心研發人員為之夜以繼日地工作,編寫自定義代碼以弄清楚問題。我們得找出一個更好的方法。” 經過兩年半的緊張研發,Cantrill和他的工作組終於研究出了這個更好的方法: Dtrace 。

特性

DTrace是過去十年中在作業系統方面最具意義的革新之一。Solaris中分散著30,000多的位置指針,也叫探測器probes,DTrace可激活成千上萬的探測器,記錄所關注的位置指定的數據,如命中,即可從該地址顯示用戶進程或系統核心的數據,從而了解系統,包括:

1。任何函式的參數

2。核心的任何全局變數

3。函式調用的時間(NS,十億分之一秒,無任何其他PC/Unix在ns一級精度)

4。跟蹤堆疊,包括指明函式調用的代碼

5。函式調用時運行的進程

6。產生函式調用的執行緒

7。統計調用次數、磁碟占用等信息

Dtrace在追蹤之外,也支持對系統的採樣。

作業系統

除Solaris系列以外,Dtrace已先後被移植到FreeBSD、NetBSD及Mac OS X等作業系統上 。

相關詞條

相關搜尋

熱門詞條

聯絡我們