999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Solaris動(dòng)態(tài)跟蹤框架的分析與應(yīng)用

2008-12-31 00:00:00陳陸楊金偉祖
電腦知識(shí)與技術(shù) 2008年29期

摘要:Solaris 10中的動(dòng)態(tài)跟蹤框架是一個(gè)全新的功能組件,它能夠全面的監(jiān)控操作系統(tǒng)性能以及應(yīng)用程序的狀態(tài),有效增強(qiáng)系統(tǒng)整體穩(wěn)定性。然而由于沒(méi)有圖形化界面,觀測(cè)結(jié)果不直觀。該文在分析了動(dòng)態(tài)跟蹤框架工作機(jī)理的基礎(chǔ)上,實(shí)現(xiàn)了其圖形化顯示模塊,在易用性,直觀性方面有了很大提高。

關(guān)鍵詞:Solaris;動(dòng)態(tài)跟蹤框架;Dtrace;圖形化

中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)29-0372-02

The Design and Application of Dynamic Tracing Based on Solaris

CHEN Lu-yang, JIN Wei-zu

(School of Software Engineering,Tongji University,Shanghai 201804,China)

Abstract: The framework of Dynamic Tracing is a new feature in Solaris 10, it can monitor the overall performance of the operating system and the state of application, enhance the overall stability. However, due to no graphical interface, usage is not easy. Based on the analysis of mechanism of the dynamic tracking,achieve its graphical display module, the ease of use, intuitive aspects has been greatly improved.

Key words: Solaris; dynamic tracing; Dtrace; graphic

1 引言

生產(chǎn)環(huán)境下的操作系統(tǒng)能否工作穩(wěn)定,不僅取決于操作系統(tǒng)本身源代碼的質(zhì)量,更需要我們可以時(shí)刻掌握,監(jiān)測(cè)操作系統(tǒng)內(nèi)核和用戶(hù)應(yīng)用程序的工作狀態(tài),Solaris10中的動(dòng)態(tài)跟蹤框架就是對(duì)這一問(wèn)題的完美解決。通過(guò)它我們可以動(dòng)態(tài)監(jiān)測(cè)操作系統(tǒng)的工作狀態(tài),時(shí)刻了解OS上應(yīng)用程序的表現(xiàn),這些信息能夠幫助我們極大的提高對(duì)當(dāng)前狀況的把握程度,在遇到性能,穩(wěn)定性等問(wèn)題時(shí),迅速找到問(wèn)題的癥結(jié)并加以解決。

動(dòng)態(tài)跟蹤框架,也即Dynamic Tracing,是Solaris10操作系統(tǒng)中引入的一個(gè)新的功能。透過(guò)這一新功能,用戶(hù)能夠動(dòng)態(tài)監(jiān)測(cè)操作系統(tǒng)內(nèi)核和用戶(hù)進(jìn)程,以更加精確地掌握系統(tǒng)的資源使用狀況,提高系統(tǒng)性能,減少支持成本。

2 Dtrace原理

在Solaris10之前,Solaris已經(jīng)擁有相當(dāng)豐富的系統(tǒng)觀察工具,比如truss,vmstat,iostat等等。然而即使這些工具每個(gè)功能都很強(qiáng)大,但它們也是十分有限的,只能固定地觀察系統(tǒng)的特定部分。不僅如此,每個(gè)工具在操作上是彼此脫節(jié)的。另外,所有的工具使用不同的方式表達(dá)數(shù)據(jù),通常使用不同的接口。

Solaris動(dòng)態(tài)跟蹤技術(shù)有效的解決了這些問(wèn)題。用這個(gè)子系統(tǒng),我們可以相當(dāng)準(zhǔn)確地觀察從應(yīng)用程序的指令到系統(tǒng)內(nèi)核底層,任何系統(tǒng)和應(yīng)用程序的行為。它使用最少的工作負(fù)荷,在 Solaris 10操作系統(tǒng)中內(nèi)嵌4萬(wàn)多個(gè)追蹤點(diǎn),提供了極為強(qiáng)大的追蹤過(guò)濾功能。我們可以根據(jù)自己的興趣選擇所要觀察的對(duì)象,動(dòng)態(tài)的打開(kāi)和關(guān)閉觀察點(diǎn);更難能可貴的是它有很好的性能,在生產(chǎn)環(huán)境下打開(kāi)這套系統(tǒng)不會(huì)對(duì)應(yīng)用性能有什么影響,它足夠安全,不會(huì)因?yàn)橛^察某個(gè)應(yīng)用而對(duì)應(yīng)用本身產(chǎn)生不良的后果。

Dtrace架構(gòu)可以簡(jiǎn)單的理解為”Dtrace提供器(Provider)和Dtrace使用者(Consumer)”模式。

“提供器”提供了”探測(cè)器”,而”使用者”通過(guò)libdtrace(3LIB)庫(kù)和相應(yīng)的設(shè)備文件或者其它方式來(lái)使用“提供器”提供的“探測(cè)器”。Solaris10中有一些消費(fèi)者,如lockstat(1M),plockstat(1M)和intrstat(1M),但是主要訪(fǎng)問(wèn)Dtrace工具的消費(fèi)者是dtrace(1M)消費(fèi)者。一個(gè)消費(fèi)者的基本工作就是與Dtraace內(nèi)核子系統(tǒng)交互探測(cè)具體描述信息,并處理從探測(cè)器返回的信息。

3 Solaris下Dtrace的使用方法

dtrace(1M)可以以命令行形式調(diào)用,也可以通過(guò)D-script調(diào)用。D-script是用Dtrace提供的D語(yǔ)言來(lái)編寫(xiě)的腳本程序。D語(yǔ)言類(lèi)似于C和awk,但是沒(méi)有程序控制如for,if等機(jī)制。

命令行調(diào)用的例子:dtrace -n 'syscall::open*:entry{trace(execname)}'

D-script例子:

#!/usr/sbin/dtrace –s

syscall::exec:return

/pid ==123/

{

printf(“%s”,execname);

}

D Script 有自己專(zhuān)用的簡(jiǎn)單命令定義語(yǔ)言(D語(yǔ)言)。D語(yǔ)言的三個(gè)要素分別是監(jiān)控點(diǎn)、監(jiān)控條件和輸出格式。

不管是命令行方式還是腳本方式,都至少要指定一個(gè)探測(cè)器。每個(gè)探測(cè)器都是一個(gè)“四元組(4-tuple)\",分別為提供者,模塊,函數(shù),名字。其中模塊與函數(shù)部分可以省略。

1) Provider:追蹤點(diǎn)所屬的目標(biāo)內(nèi)核模塊集或庫(kù)。

2) Module:目標(biāo)模塊名稱(chēng)(此參數(shù)可省略)。

3) Function:程序功能的名稱(chēng),如系統(tǒng)調(diào)用名稱(chēng)等(此參數(shù)可省略)。

4) Probe:指定將要獲得追蹤信息的條件或追蹤點(diǎn)(此參數(shù)通常表示功能中的一個(gè)位置)。指定將要獲得追蹤信息的條件或追蹤點(diǎn) (此參數(shù)通常表示功能中的一個(gè)位置)。

當(dāng)運(yùn)行某個(gè)Dtrace腳本時(shí),Dtrace程序會(huì)自動(dòng)加載到內(nèi)核中,相應(yīng)的監(jiān)測(cè)點(diǎn)被激活,如果有符合監(jiān)控條件的事件發(fā)生,也即監(jiān)控條件為true時(shí),相應(yīng)的操作就會(huì)被執(zhí)行。按Ctrl+C會(huì)立即結(jié)束執(zhí)行,激活的監(jiān)測(cè)點(diǎn)自動(dòng)釋放,就好象什么都沒(méi)有發(fā)生過(guò),對(duì)操作系統(tǒng)的運(yùn)行不會(huì)產(chǎn)生任何的不良影響。

4 基于Dtrace的系統(tǒng)檢測(cè)工具

考慮到Dtrace使用對(duì)于普通用戶(hù)的復(fù)雜性,同時(shí)由于Dtrace檢測(cè)的內(nèi)容相當(dāng)龐大,我們就把常用的系統(tǒng)檢測(cè)功能用Dtrace進(jìn)行實(shí)現(xiàn),提供了一組可供程序員使用的API接口。同時(shí)為了方便用戶(hù)的使用,該工具以更加人性化的圖形界面將檢測(cè)結(jié)果呈現(xiàn)出來(lái)。

5 結(jié)束語(yǔ)

DTrace 為每位運(yùn)行 Solaris OS的開(kāi)發(fā)者和客戶(hù)提供了一款用于進(jìn)行性能分析的功能極其強(qiáng)大的工具。Dtrace 使他們能夠以先進(jìn)的觀察方式觀察所擁有的系統(tǒng),以了解系統(tǒng)的工作方式。使用 Dtrace 的結(jié)果是,開(kāi)發(fā)質(zhì)量更高的應(yīng)用程序,降低成本,減少停機(jī)時(shí)間以及更好地利用現(xiàn)有資源,以提高 ROI。程序員API接口和圖形化界面的實(shí)現(xiàn),使得程序員和普通用戶(hù)能夠更加方便的使用Dtrace進(jìn)行系統(tǒng)檢測(cè)。

參考文獻(xiàn):

[1] Sun Microsystems Inc.Solaris Dynamic Tracing Guide[S].2005.

[2] BigAdmin System Administration Portal[EB/OL].http://www.sun.com/bigadmin.

[3] Richard McDougall.Solaris性能與工具[M].北京:機(jī)械工業(yè)出版社,2007.

[4] Richard McDougall.Solaris內(nèi)核結(jié)構(gòu)[M].北京:機(jī)械工業(yè)出版社,2007.

主站蜘蛛池模板: 国产Av无码精品色午夜| 伊人久久综在合线亚洲2019| 亚洲色大成网站www国产| 亚洲日本中文字幕天堂网| 精品福利国产| 久久综合成人| 欧美日韩国产综合视频在线观看| 久久精品只有这里有| 手机在线国产精品| 精品少妇人妻av无码久久| 国产在线自在拍91精品黑人| 91在线播放国产| 久久人搡人人玩人妻精品一| 一区二区三区成人| 午夜限制老子影院888| 国产地址二永久伊甸园| 午夜天堂视频| 夜夜爽免费视频| 这里只有精品国产| 在线看AV天堂| 国产波多野结衣中文在线播放 | 中文字幕久久亚洲一区| 人人爱天天做夜夜爽| 久久男人视频| 夜色爽爽影院18禁妓女影院| 精品久久久久久中文字幕女| 精品伊人久久久香线蕉| 播五月综合| 欧美日韩一区二区在线播放| 色哟哟国产精品| 免费无码又爽又黄又刺激网站| 久久国产精品国产自线拍| 欧美成人第一页| 国产亚洲欧美在线视频| 真实国产乱子伦高清| 中文字幕调教一区二区视频| 国产日本视频91| 国产成人区在线观看视频| 国产精品偷伦视频免费观看国产| 色综合中文| 大香网伊人久久综合网2020| 久久精品中文字幕免费| 99久久精品无码专区免费| 国产另类乱子伦精品免费女| 亚洲大尺度在线| 青青草原国产一区二区| 第一页亚洲| 免费国产在线精品一区| 成人噜噜噜视频在线观看| 欧美日韩精品在线播放| 亚洲伊人天堂| 欧美在线精品一区二区三区| 国产中文一区二区苍井空| 国产亚洲精品无码专| 91亚洲精选| 色妺妺在线视频喷水| 国产亚洲精品资源在线26u| 国产鲁鲁视频在线观看| 高潮毛片无遮挡高清视频播放| 久久婷婷国产综合尤物精品| 日本在线欧美在线| 亚洲欧美自拍视频| 国产乱人乱偷精品视频a人人澡| 亚洲三级a| 免费在线看黄网址| 亚洲第一区欧美国产综合| 一区二区理伦视频| 99视频精品在线观看| 国产福利免费观看| 女人爽到高潮免费视频大全| 高清大学生毛片一级| 色噜噜狠狠色综合网图区| 亚洲欧美另类中文字幕| 国产高潮视频在线观看| 色网站在线免费观看| 久久99久久无码毛片一区二区| аv天堂最新中文在线| 日韩毛片免费视频| 热久久综合这里只有精品电影| 国产jizz| 亚洲欧美日韩成人在线| 国产精品永久在线|